2012-06-22 48 views
0

我們有一個運行在某些PC上的.NET 2.0應用程序(全球化:英文/德文)。.NET 2.0應用程序崩潰,未處理的異常。如何調試?沒有源代碼

過去幾天,應用程序拋出未處理的異常並且應用程序崩潰。我沒有要調試的源代碼。應用程序日誌以及事件查看器是沒有用的。這個例外沒有說太多。

任何方式調試和找到沒有源代碼的異常原因?

在此先感謝

KARTHIK

回答

0

與內存轉儲我將開始。 ProcessExplorer可以採取進程的內存轉儲。

1

您可以使用http://wiki.sharpdevelop.net/ILSpy.ashx反編譯代碼並獲取代碼。但是真的應該在應用程序中記錄正確的錯誤。其中詳細說明了有效位置的內部異常,這會讓您更好地瞭解失敗的內容。

+0

感謝的堆棧。檢查ILSpy似乎很有趣 – KK99

1

嘗試使用.NET反編譯像http://www.reflector.net/或輝煌Graywolf從http://digitalbodyguard.com/(Graywolf通過其許可非商業用途的限制,所以它可能不是一個選擇)

+0

謝謝。我想我不能使用這些因爲你提到的原因 – KK99

+0

反射器可以用於商業:) –

0

你可以得到源使用Mdbg或Windbg來調試您的過程。要獲得更多信息,您應該使用PDB文件。這是有用的情況。

你可以在其他答案中找到源代碼。請注意,ILSpy和Reflector可以同時進行調試和反編譯...

+0

謝謝。我會檢查Mdbg – KK99

0

您可以使用WinDbg來處理崩潰轉儲或在崩潰時附加到進程。託管代碼中有足夠的類型信息可以讓您有效地進行調試。

  • WinDbg.exe -I將註冊爲系統上的崩潰處理程序。

一旦WinDbg的連接,下面的命令應該有所幫助:

  • .loadby sos clr加載CLR調試擴展
  • !pe轉儲異常的詳細信息。
  • ~#s切換到線程與例外
  • !clrstack轉儲線程
+0

謝謝。會試試這個 – KK99

相關問題