2010-10-12 41 views
2

我正在使用其他人編寫的.NET應用程序,而且我可以看到今天它的刷新非常緩慢。使用Process Explorer,我發現它拋出了成千上萬的異常(可能被應用程序捕獲)。.NET應用程序拋出什麼異常

如果我無法訪問源代碼,是否有任何方法可以查看這些類型的異常? Process Explorer只有一個「Excers Thrown#」計數器。但是有沒有可以告訴我的工具?

回答

3

Attach the debugger to the process你應該能夠告訴什麼是異常 - 只是不是他們來自源代碼。

確保正確設置例外設置。即使沒有這一點,您始終可以在輸出窗口中看到應用程序捕獲並忽略的第一次機會異常。有可能這是一個合理但不明智的「拋出」應用程序命中的代碼路徑的「處理錯誤」。

如果您沒有對機器的調試訪問權限,則可以安裝Process Dumper,並在選定或所有異常情況下從目標進程(通過.EXE文件名)生成完整或小型轉儲。不過,我認爲這不適用於受管理的例外情況。調試器可以處理託管和本機異常。

+0

非常感謝。這絕對看起來是正確的路要走。在我能夠把這件事解決之前,它不再扔掉它們。但是如果我再次看到緩慢的情況,我會試試這個。 – 2010-10-12 22:02:18

-1

我相信你可以使用windbg來捕獲內存轉儲並分析它,以便找到這些異常。

我自己沒有經驗,使用它可能會導致應用程序脫機。

+0

可以downvote請解釋一下嗎? – Oded 2010-10-14 15:56:55

相關問題