如何在Visual Studio中调试期间停止执行所有异常?

时间:2009-06-01 17:03:24

标签: c# visual-studio-2008 build

在我的代码中,我目前有一个异常处理设置,它将异常记录到文本文件中。但是,当我调试代码时,我宁愿不处理异常并让执行停止而不是读取文件,设置断点等。是否有一种简单的方法可以使用构建和发布配置(某些东西)像一个预处理器指令,我可以用来注释掉一些异常处理代码)?

事实证明,有一个比原始问题更好的解决方案,请参阅第一个答案。

5 个答案:

答案 0 :(得分:7)

C#执行have preprocessor directives(例如if,define等等),您可以将其用于此目的。

但是,您也可以修改Visual Studio中“Debug - > Exceptions ...”下的设置,以便每次抛出异常时调试器都会中断(在执行进入catch块之前)。

答案 1 :(得分:4)

尝试这样的事情:

if ( System.Diagnostics.Debugger.IsAttached )
    System.Diagnostics.Debugger.Break();
else 
    LogException(); 

答案 2 :(得分:1)

#if DEBUG
// Something
#else
// Something else
#endif

答案 3 :(得分:1)

答案 4 :(得分:0)

我会毫不犹豫地使用预处理程序指令。我想你想要的东西很容易适用于你的整个解决方案,并且在你的代码中粘贴预处理器指令。

在之前的答案中,乔尔很好。但是,您可以通过转到Debug / Exceptions来完成相同的操作,并确保选中“Common Language Runtime Exceptions”行中的复选框。通常默认选择用户未处理。