2010-04-07 110 views
7

我正在開發一個發生StackOverflowException的.Net 2.0應用程序。有沒有辦法在應用程序中止之前/期間打印/記錄堆棧跟蹤? 這是一個長時間運行的服務器端進程,在調試器下很難執行。 我知道StackOverflowException不能被捕獲。如何打印StackOverflowException的堆棧跟蹤

+0

當它崩潰時它會生成崩潰轉儲嗎?如果是這樣可能會有所幫助http://blogs.msdn.com/tess/archive/2008/03/31/net-case-study-stackoverflow-exception-when-using-a-complex-rowfilter.aspx – 2010-04-07 09:58:05

+0

你也不會說什麼樣的應用程序。如果它是一個web應用程序,我認爲你需要使用IIS調試工具包(雖然我不知道IIS7) – 2010-04-07 10:38:31

回答

3

使用ADPlus(從Windows調試工具)在崩潰時強制轉儲。

E.g.

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

CW:隨意擴大這與細節(我不必手)。雖然這不包括「申請中止之前」標準,但我認爲這不可能。 – Richard 2010-04-07 10:05:27