Moja aplikacja zgłasza wyjątek InvalidCastException w środowisku kontroli jakości, którego nie mogę odtworzyć w fazie projektowania.Jak utworzyć minidump procesu .NET, gdy wystąpi wyjątek z pewną pierwszą szansą?
Chcę uzyskać minizestaw w wyjątkowym momencie. Wiem o adplus, ale nie jestem pewien, jak go użyć, aby utworzyć minizrzutu, gdy zgłoszony zostanie wyjątek InvalidCastException. Najwyraźniej nie rozróżnia żadnego wyjątku .NET od innego. Być może jestem w błędzie i jest jakiś sposób. Lub jest inne narzędzie do tego. Najlepiej darmowy.
W każdym razie, czy ktoś może poradzić sobie z tym problemem?
Dzięki.
UPDATE
- Build to build debugowania zarówno QA i dev. Jednak QA uruchamia złożone scenariusze możliwe w laboratorium, których twórcy nie mogą odtworzyć. Dlatego potrzebuję możliwości zrobienia zrzutu podczas pracy w QA.
- Mogę zmodyfikować kod i utworzyć minidump z kodu. Jednak życzę sobie bardziej elastycznego rozwiązania, które nie wymaga modyfikacji kodu za każdym razem, gdy wystąpi taki problem.
UPDATE 2
Faktycznie, mam „skradziony” kod pokolenie Minidump z John Robbins SuperAssert.Net Ponownie, jest to kod do generowania Minidump z pewnego punktu betonowej, natomiast muszę bardziej elastyczny podejście w stylu adplus. Podejście Johna Robbinsa polega na stworzeniu skryptu cdb, a następnie wywołanie debuggera cdb z tym skryptem, aby dołączyć go do procesu i utworzyć zrzut. Nie korzysta z interfejsu API MiniDumpWriteDump.
szybkie pytanie - czy masz linii kodu, w którym obsada się dzieje?Czy środowisko QA jest kompilowane w trybie "Release", a nie "Debugowanie"? – Paddy
Środowisko kontroli jakości jest takie samo jak deweloper, jeśli chodzi o kompilację. Liczy się to, że środowisko QA jest rozproszone, podczas gdy deweloperzy uruchamiają wszystko na tym samym komputerze. – mark