我正在调试iisexpress.exe上的asp.net应用程序,我已经配置了visual studio 2013以通过异常设置窗口中断用户处理的异常,但是当抛出异常时它仍然不会中断。 当我暂停执行时,我可以在Intellitrace窗口看到很多异常被抛出但是visual studio没有中断。
答案 0 :(得分:10)
好的,似乎是因为在
下选择了“启用我的代码”选项选项> Debugging->常规
我不知道为什么但是默认情况下会进行检查。有任何想法吗?我应该选中/取消选中吗?
答案 1 :(得分:8)
@ Navav,调试器的工作原理是,当你启用“Just My Code”时,调试器只会破坏用户代码中的First Chance Exceptions(抛出但处理)。调试器将用户代码定义为编译为“Debug”的代码,并且您具有符号文件(.pdb),或者如果程序集是由作为解决方案一部分的项目构建的。一般来说,Just My Code就是您可能想要的,就像您禁用它并打开第一次机会异常一样,即使在您无法控制的框架代码中,也会出现任何异常。另外,当它启用时,如果你没有在用户代码中捕获异常,调试器将会中断并将其视为未处理。但是,如果禁用“仅我的代码”,则只有在真正未处理的情况下才会中断异常。例如,一些框架将捕获异常,因此调试器只有在您将其切换为抛出时才会中断,因为代码中没有异常实际上未处理,它们只是“用户未处理”。