2010-04-07 8 views
7

Pracuję nad aplikacją .Net 2.0, w której występuje wyjątek StackOverflowException. Czy istnieje sposób drukowania/rejestrowania śledzenia stosu przed/podczas przerwania aplikacji? Jest to długo działający proces po stronie serwera, który byłby trudny do wykonania w ramach debuggera. Wiem, że wyjątek StackOverflowException nie może zostać przechwycony.Jak wydrukować stos stosu StackOverflowException

+0

Czy generuje zrzut awaryjny po awarii? Jeśli tak, może to pomóc http://blogs.msdn.com/tess/archive/2008/03/31/net-case-study-stackoverflow-exception-when-using-a-complex-rowfilter.aspx –

+0

powiedzieć, jaki rodzaj aplikacji. Jeśli jest to aplikacja internetowa, myślę, że powinieneś użyć zestawu narzędzi Debug IIS (choć nie wiem o IIS7). –

Odpowiedz

3

Użyj narzędzia ADPlus (z narzędzi do debugowania systemu Windows), aby wymusić zrzut podczas awarii.

E.g.

adplus -hang -pn <process name> -o <dump file> 
+0

CW: Zapraszam do rozszerzenia tego o szczegóły (których nie mam do przekazania). Chociaż nie obejmuje to kryterium "przed przerwaniem aplikacji", nie sądzę, aby było to możliwe. – Richard