2010-02-01 83 views
1

我有一個C#應用程序,它有時因不明原因崩潰。因此,我想查找故障轉儲文件,但它不存在。我還寫了一個小應用程序,它引發了一個DivideByZero異常(未處理)。其結果是:在一個系統上,程序在沒有任何消息的情況下關閉,在另一個系統(VM)上,我得到一個簡單的崩潰報告,它想要將數據發送給Microsoft。c#崩潰轉儲不存在

我配置了drwtsn.exe和註冊表設置。我也嘗試使用WinDbg沒有成功。

有誰知道我可以如何強制系統寫入轉儲文件?

最好的問候, EL

回答

1

ADPlus的是最簡單的方法。大量的文檔從這裏開始:http://support.microsoft.com/kb/286350

+0

我會優先考慮客戶沒有配置他的電腦的可能性。有沒有其他方法?謝謝你的awnser的建議 – elCapitano 2010-02-02 12:15:24

3

您需要爲AppDomain.UnhandledException事件編寫一個事件處理程序。記錄e.ExceptionObject.ToString()值幾乎總是足夠好,堆棧跟蹤會告訴您代碼如何陷入困境。

P /從dbghelp.dll調用MiniDumpWriteDump()也是可能的,你會得到一個.dmp文件,你可以用它來分析WinDbug異常。 Dbghelp.dll在Vista和Win7上可用,您可以從Debugging Tools for Windows下載獲取早期版本。但是,直到VS2010發佈之前,您無法從該小型轉儲中獲得良好的管理堆棧跟蹤。

+0

謝謝,但UnhandledException事件沒有被調用。我的應用程序終止,沒有任何提示。 – elCapitano 2010-02-02 12:13:39