2009-11-12 41 views
0

我有一個C#應用程序因未知原因崩潰。如何獲取Winforms應用程序的轉儲文件

爲了解這個問題,我想爲它取一個轉儲文件。

我該怎麼辦?

非常感謝,

Oz。

+0

爲什麼只是不要調試你的應用程序,所以你可以很容易地查找執行路徑和變量 – RvdK

回答

0

您必須捕捉異常並將其輸出到主文件中的日誌文件。

static int main() 
{ 
    try 
    { 
    } 
    catch (Exception ex) 
    { 
    WriteToLogFile(ex); 
    } 
} 
+1

他要求一個轉儲文件。如果您想要收到異常通知,AppDomain.UnhandledException是更好的選擇。 – Patrik

1

你在談論採取小型轉儲當你的應用程序崩潰,所以你可以使用WinDbg或CDB調試呢?

如果是的話,也有不同的方法:

DrWatson
-Run drwtsn32 -i在commandprompt,這將激活華生醫生,讓它在後臺爲所有的崩潰聽。

WinDBG的
-Run windbg -I從WinDBG的的安裝文件夾開始commandpromt。
- 當發生崩潰時,windbg會立即加載崩潰轉儲。

確保您先下載並安裝Debugging tools for Windows

1

如果您使用的是Windows Vista/7或Server 2008,那麼您可以打開任務管理器並手動創建轉儲文件,如here所述。我會建議使用Windbg來捕捉崩潰,正如Mez所建議的那樣,因爲那樣您可以對該進程執行即時崩潰轉儲分析。

相關問題