2014-10-31 154 views
1

我的visual studio 2012停止顯示調試器異常。我的意思是這個對話框顯示了我的確切例外和行:http://i.msdn.microsoft.com/dynimg/IC286574.jpgvisual studio 2012調試器不起作用

在例如,如果我運行下面的Visual Studio代碼:

using System; 
using System.Windows.Forms; 

namespace debugger_test 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     public void Form1_Load(object sender, EventArgs e) 
     { 
      int zero = 0; 
      int a = 1/zero; // it hangs on this line 
      MessageBox.Show("this messagebox is never shown"); 
     } 
    } 
} 

那麼它不返回任何異常。它剛剛啓動,執行int a = 1/zero;後沒有代碼。

但是,當我單獨運行相同的程序作爲編譯.exe然後它返回這種異常:http://i.msdn.microsoft.com/dynimg/IC8596.gif在這種情況下關於DivideByZeroException。

  • 它發生在任何項目。
  • 修復並重新安裝visual studio沒有解決它。儘管重新安裝後仍保留了一些VS設置。
  • 我不知道任何可能導致它的變化,我不確定它何時開始發生。

如何從Visual Studio中的第一張圖片再次獲得調試器?謝謝。

編輯:Sascha的建議並沒有完全解決我的問題。 我不知道如何拋出try {}內部的異常,但拋出一個不在try {}內部的異常。

以下代碼要麼只拋出一個異常,要麼只掛在int gg = 1/a;行,不管是否使用try/catch或不使用。

public void Form1_Load(object sender, EventArgs e) 
{ 
    int zero = 0; 
    int a = 1/zero; // this line should throw an exception 
    MessageBox.Show("to be never shown"); 
} 

__

public void Form1_Load(object sender, EventArgs e) 
{ 
    try 
    { 
     int zero = 0; 
     int a = 1/zero; 
     MessageBox.Show("to be never shown"); 
    } 
    catch 
    { 
     MessageBox.Show("catched"); // it should show this messagebox 
    } 
} 

任何想法如何正確設置它?謝謝。

回答

0

這似乎已經解決了我到目前爲止。

  • 在註冊表編輯器,找到以下注冊表子項:HKLM \ SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \圖像文件執行選項
  • 創建DWORD值的註冊表項。
  • 命名新的註冊表項DisableUserModeCallbackFilter。
  • 的DisableUserModeCallbackFilter註冊表項的值設置爲1

發現有http://support.microsoft.com/kb/976038/en-us

而且它必須被編譯爲發佈。荒謬。

2

看一看關於已知問題這個問題上x64 systems

這是64位操作系統平臺的已知問題。原因在於,64位OS內核不允許通過核心模式 堆棧的用戶模式異常。這個例外被OS輕易吞噬。發生在 FormLoad處理程序中,因爲它在OS回調中被調用。 32位操作系統 不這樣做,所以它不repro那裏。

操作系統小組正在調查相關問題。與此同時,你做 必須解決這個問題。打開「停止第一次機會 異常」將使調試器停止在這種情況下。但 確實使調試器停止非常頻繁,所以你可能想要做 只有這樣,當你發現一個問題

這是Visual Studio中的一個bug /限制當你的電腦是64位,這種情況發生異常發生在表單加載。

+0

啊哈。我通過調試,例外,檢查所有工作,好吧。感謝您爲我指出正確的方向! – LukAss741 2014-10-31 01:10:30

相關問題