我們有一個運行在某些PC上的.NET 2.0應用程序(全球化:英文/德文)。.NET 2.0應用程序崩潰,未處理的異常。如何調試?沒有源代碼
過去幾天,應用程序拋出未處理的異常並且應用程序崩潰。我沒有要調試的源代碼。應用程序日誌以及事件查看器是沒有用的。這個例外沒有說太多。
任何方式調試和找到沒有源代碼的異常原因?
在此先感謝
KARTHIK
我們有一個運行在某些PC上的.NET 2.0應用程序(全球化:英文/德文)。.NET 2.0應用程序崩潰,未處理的異常。如何調試?沒有源代碼
過去幾天,應用程序拋出未處理的異常並且應用程序崩潰。我沒有要調試的源代碼。應用程序日誌以及事件查看器是沒有用的。這個例外沒有說太多。
任何方式調試和找到沒有源代碼的異常原因?
在此先感謝
KARTHIK
與內存轉儲我將開始。 ProcessExplorer可以採取進程的內存轉儲。
您可以使用http://wiki.sharpdevelop.net/ILSpy.ashx反編譯代碼並獲取代碼。但是真的應該在應用程序中記錄正確的錯誤。其中詳細說明了有效位置的內部異常,這會讓您更好地瞭解失敗的內容。
嘗試使用.NET反編譯像http://www.reflector.net/或輝煌Graywolf從http://digitalbodyguard.com/(Graywolf通過其許可非商業用途的限制,所以它可能不是一個選擇)
謝謝。我想我不能使用這些因爲你提到的原因 – KK99
反射器可以用於商業:) –
您可以使用WinDbg來處理崩潰轉儲或在崩潰時附加到進程。託管代碼中有足夠的類型信息可以讓您有效地進行調試。
WinDbg.exe -I
將註冊爲系統上的崩潰處理程序。一旦WinDbg的連接,下面的命令應該有所幫助:
.loadby sos clr
加載CLR調試擴展!pe
轉儲異常的詳細信息。~#s
切換到線程與例外!clrstack
轉儲線程謝謝。會試試這個 – KK99
感謝的堆棧。檢查ILSpy似乎很有趣 – KK99