我希望Visual Studio在发生处理异常时中断(即我不只是想看到"第一次机会"消息,我想调试实际异常).
例如,我希望调试器在异常处中断:
try
{
System.IO.File.Delete(someFilename);
}
catch (Exception)
{
//we really don't care at runtime if the file couldn't be deleted
}
Run Code Online (Sandbox Code Playgroud)
我遇到了Visual Studio.NET的这些笔记:
1)在VS.NET中进入Debug菜单>>"Exceptions ...">>"Common Language Runtime Exceptions">>"System"并选择"System.NullReferenceException"
2)在该对话框的底部有一个"当抛出异常时:"组框,选择"进入调试器"
3)运行您的方案.抛出异常时,调试器将停止并通过一个对话框通知您,类似于:"抛出类型"System.NullReferenceException"的异常.[Break] [Continue]"
点击[休息].这将使您处于导致问题的代码行.
但它们不适用于Visual Studio 2005(" 调试"菜单上没有" 例外"选项).
有谁知道在Visual Studio中找到这个选项对话框中的" 当抛出异常时 "组框,并选择" 进入调试器 "?
更新:问题是我的调试菜单没有Exceptions项.我自定义菜单以手动添加它.
在我的其他机器上,当没有try/catch来处理它们时,Visual Studio总是打破错误,但如果有一个try/catch,那么它就没有破坏.由于某些原因,这台笔记本电脑不能这样工作.它起初并没有破坏,但后来我发现了如何通过调试/异常将其设置为中断.但是,将其配置为中断会导致它始终在异常中断,即使存在try/catch块也是如此.
我如何使它像我习惯的那样工作?
在C#中编码时,我不喜欢处理异常,因为它可以更容易地找出出错的地方和原因.但是,我不能给任何人一个不处理异常的程序.
我可以以某种方式强制Visual Studio打破每个异常,包括那些抛出try/catch块的异常吗?
如何在异常上设置断点?理想情况下,我希望能够从抛出异常的代码中看到调用堆栈和局部变量.
debugging exception visual-studio-2010 visual-studio-2008 visual-studio