8

我正在調試iisexpress.exe上的asp.net應用程序,我已配置visual studio 2013以通過異常設置窗口中斷用戶處理的異常,但它在引發異常時仍然不會中斷。 當我暫停執行時,我可以在Intellitrace窗口看到引發了很多異常,但visual studio沒有中斷。Visual Studio 2013「中斷處理異常」不起作用,不打破

+0

設置斷點是否工作?你能看到'輸出窗口'已經加載了你的程序集的正確版本嗎? –

+0

沒有「用戶處理」選項。有'Thrown'和'User-unhandled',兩者都必須選擇你想要的行爲。你選擇了這兩個選項嗎? –

+0

@MthetheWWatson - 是的,這就是我的意思。 –

回答

10

好了,現在看來,這是因爲在

選項 - > Debugging->常規選擇了「啓用僅我的代碼」選項

我不知道爲什麼,但通過做默認,它被檢查。有任何想法嗎?我應該讓它被選中/取消選中嗎?

8

@Navad,調試器的工作原理是,當你啓用了「Just My Code」時,調試器將僅在用戶代碼中的第一次機會異常(拋出,但是處理)中斷。如果調試器將用戶代碼定義爲編譯爲「Debug」的代碼,並且具有符號文件(.pdb's),或者該程序集是由作爲解決方案一部分的項目構建的。一般來說,只要我的代碼是你想要的,就好像你禁用它並打開第一次機會異常,即使在你不控制的框架代碼中,也會發生任何異常。另外,當它被啓用時,如果你沒有捕獲用戶代碼中的異常,調試器將會中斷並將其視爲未處理。但是,如果禁用「只是我的代碼」,則只有在確實未處理的情況下才會中斷該異常。例如,某些框架將捕獲異常,因此只有在將其切換爲拋出時,調試器纔會中斷,因爲代碼中的任何異常實際上都未處理,它們只是「用戶未處理」。

相關問題