2010-06-17 212 views
8

我有一個奇怪的錯誤。我正在調試一個asp.net站點,並突然停止。 Visual Studio保持調試模式,我的Web應用程序保持正常運行狀態。我發現this後,但我不認爲後臺線程造成的問題。甚至有人試圖繞過通常停止調試的代碼,但是catch並沒有被觸發......每次我嘗試它時,它都停在代碼中的不同位置。調試asp.net突然停止

+0

當您長時間坐在斷點處時會發生嗎? – 2010-06-17 17:47:37

+0

是的。韋爾,我不會把它稱爲延長,但是大約10秒。 +當我設置更多斷點時,它發生得更多。 – 2010-06-25 07:21:56

+0

您是否設法找到解決方案?我有完全相同的問題,對我來說,我有2個asp.net項目(app.webform.old&app.mvc3.new),當我運行mvc項目時,web form項目也在cassini中運行! (我不使用IIS,但卡西尼) – gideon 2010-12-29 14:25:26

回答

6

您是否設置了調試器來打破所有異常,而不僅僅是未處理的異常?

調試 - >異常 - >檢查「Thrown」框中的所有內容(或者至少只是公共語言運行時異常)。如果在調試期間拋出異常,則在任何線程上,這應該會導致調試器突出顯示並在「thrower」上斷開。

要嘗試的另一件事是重置所有IDE設置。在設置被破壞以及IDE停止合理運行之前,我有各種奇怪的行爲:工具 - >導入和導出設置 - >重置所有設置。

除了丹尼爾戴森的答案 - 如果你「暫停」,他建議(一旦調試已經「停止」),打開「線程」調試窗口。是否有線程顯示在「位置列」中有條目?如果是這樣,這可能是你的代碼執行。依次點擊。你能說明每個線程正在做什麼,或者這是否能揭示這種奇怪的行爲?

1

在Global.asax中的Application_Error事件中添加一個斷點。

3

您是否嘗試過打暫停||按鈕?這會暫停執行的調試器,所以如果你在try catch塊之外的無限循環中,你將能夠找到位置。

1

確保「配置已啓用」設置在IIS配置中設置爲「False」。

在IIS7中,右鍵單擊您的AppPool,選擇「高級設置」,向下導航到已啓用Ping的設置並將其更改爲false。

如果您使用的是IIS6,則設置稍有不同。如果我沒有記錯,我相信它被稱爲「Ping間隔」,並且它被設置爲幾秒鐘。