在Visual Studio中任何方式都不会在抛出特定异常时中断?

mck*_*mey 10 debugging attributes exception pragma visual-studio

是否有一个编译器和调试器属性,这将允许调试器不是特定的异常抛出的突破,即使在调试>>例外菜单我已经告诉它打破当任何CLR例外是抛出?

一般而言,在开发时我喜欢在调试时让异常中断,以便我可以立即检查它们.有时会出现一些孤立的情况,我们知道这个代码块偶尔抛出异常,我用try-catch处理它.看到这个问题的答案,其中的共识是try-catch是最正确的情况.

我希望能够设置方法(一些类似于System.Diagnostics.DebuggerHiddenAttribute)刚刚忽略的方法引发的任何异常的属性.

顺便说一句,我目前在Visual Studio 2008中遇到过这种情况,但我猜测所有版本都有答案,或者没有答案.

AMi*_*ico 9

可以在"调试"菜单的"例外"菜单项下找到直接答案.这是每个解决方案/项目设置.(工具>选项>调试是系统范围的设置.)请参阅帮助主题Visual Studio调试器,如何:http://msdn.microsoft.com/en-us/library/d14azbfh 上抛出异常中断. aspx的详细信息."异常"对话框允许您设置抛出哪些异常或哪些异常进入调试器.

我发现我从DebuggerStepThrough属性中得到了更多的使用.

一般情况下,我将抛出异常保留为默认值(Debug> Exceptions user-unhandled checked和Thrown unchecked)并添加DebuggerStepThrough我不感兴趣的方法的属性,也不感兴趣我在该方法中抛出的任何异常.我很少使用DebuggerHidden,并DebuggerNonUserCode在库代码中得到更多的使用.