Padá mi aplikace a přitom to nehodí žádnou výjimku. Snažil jsem se něco vyguglovat, ale na nic co by mi přišlo k věci jsem nenarazil. Potřeboval bych radu, jak to chytit. Mám dva případy (projekty). "Nasadil" jsem log4net. Na začátek a konec metod jsem si dal záznam. Nejsem si 100% jistý, ale domnívám se, že v případě výjimky by to navíc mělo tu výjimku zaznamenat, včetně nějakých detailů (ale možná jsem to jenom blbě pochopil).
1. projekt je COM objekt, který volám z Win32 aplikace. V drtivé většině (několik desítek až pár set) případů to funguje. Asi u 10 klientů to "padá". Přičemž jediná hláška je od OS, že program přestal pracovat. Dokonce jsem si tam potom cvičně doplnil volání metody: private static void Foo() { throw new Exception("This is an Exception"); }, ale chová se to prakticky stejně, výjimka se nekoná (na PC, kde mi to předtím chodilo a bez té "ruční" výjimky nepadalo). Tady jsem znejistěl, jestli log4net ty výjimky loguje sám od sebe, nebo si to musím doprogramovat.
2. projekt je WinForm aplikace, je tam několik formulářů, spousta datasetů. To zatím není u klientů, ale testerovi to občas upadne pod rukama. Když je to nějaká "normální" chyba, tak to výjimku hodí, to pak není problém dohledat a opravit. Pokud jí to ale chcípne bez výjimky, tak jsme v prdeli. Padá to málo (1× - 3× za den), náhodně na různých místech. Alespoň se nám nepodařilo to nijak vysledovat. Programátorům to nepadá, aby se to alespoň nějak lépe chytalo :-( Tady jdu teprve log4net nasadit.
---
Nemáte nějakou radu ohledně toho sledování kam program vlezl, aby se nemuselo na desítky míst vložit zalogování průlezu? Nebo nesetkali jste se někdo s podobným chováním?
FW 4.0, VS2013, DevExpress vizuální komponenty, FirebirdClient na připojení k Firebird SQL.