2010-05-07 41 views
1

我不知道我是否會在這裏傳遞所有必要的信息,但我只是被要求在這裏發佈這個問題,而我並不完全處理這個問題。調試編譯的.NET 2.0應用程序

有一個在調試模式與參數jitDebugging設置爲true的app.config

<system.windows.forms jitDebugging="true" /> 

任何崩潰,我們得到的對話框讓我們發送報告或後整理了.NET Framework 2.0應用程序調試程序。當我們選擇調試並選擇正確的VS時,IDE會啓動,但會顯示公告:

對於任何調用堆棧幀均未加載符號。源代碼無法顯示。

拆卸不能顯示在運行模式。

是否有任何可能性看到代碼或發生崩潰的地點?

//編輯:

Tarscher的建議是好的,但最終的解決辦法是......添加一個模塊中的main()方法和力的項目中使用它 - 在某種程度上要歸功於VS能夠顯示代碼並找到異常的來源。

+1

這是您自己的應用程序? – 2010-05-07 11:30:00

+1

你檢查了應用程序日誌,在Windows事件查看器中,有時你可以通過查看什麼異常消息(無法連接到數據庫等)來了解錯誤 – GenEric35 2010-05-07 11:50:45

回答

1

您的.net應用程序將在崩潰後創建一個轉儲文件。您需要將此轉儲文件與應用程序pdb文件一起加載以查看您的源代碼。編譯和存儲有關程序的調試信息時會創建此pdb文件。

在您的情況下,Visual Studio可能無法找到pdb文件並加載它們。

+0

我想你的意思是轉儲文件,而不是愚蠢的文件:-D – 2010-05-07 11:29:23

+0

修正'typo':-) – Tarscher 2010-05-07 11:36:51

+0

嗯,我應該在哪裏尋找這個'愚蠢的';)文件?並加載它與應用程序如何......? – brovar 2010-05-10 10:21:51

2

確保您的應用程序中包含.pdb文件以及.dll文件。

+0

在那裏,做到了。 – brovar 2010-05-10 10:24:01

1

不確定您的部署方案是什麼樣子,但在客戶或生產計算機上運行調試器通常不太實際。編寫AppDomain.UnhandledException事件的事件處理程序並顯示e.ExceptionObject.ToString()的值。您的客戶至少可以向您發送屏幕截圖。你會得到異常消息和一個很好的堆棧跟蹤,顯示你的程序如何陷入困境。通常95%足以查看出了什麼問題。

+0

不幸的是,我們在這5%。 – brovar 2010-05-10 10:24:34