我在使用C#应用程序时遇到麻烦。为了简化场景,我有一个主.exe项目,它引用另一个C#库作为直接的DLL依赖。这个DLL会在特定的地方抛出异常,调试器就会破坏它们。但是,异常会被处理而不会被重新抛出。检查VS中的我的异常对话框,只让调试器中断此类型的User-Unhandled异常(InvalidOperationException),但它仍在中断。
然而如果我将相同的库链接为项目引用(而不是编译的DLL),则调试器不再中断此异常。
同样,如果我直接运行.exe程序(在调试器之外),我看不到没有证据表明这个异常没有按照我的预期处理。没有错误,我的日志记录表明预期的控制流程。
相关代码在一段时间内基本没有变化,但我已经重构了我的解决方案和项目;我以前只使用项目引用,所以在我去DLL引用之前可能从未发现过这个问题。
任何人都可以提出任何其他建议,看看为什么调试器会破坏这个处理过的异常?
答案 0 :(得分:1)
我做了更多的谷歌搜索和小提琴,我已经确定了这似乎是“启用我的代码”#39;是导致调试器中断的原因
此链接为我提供了一些有关此选项如何影响调试器的明确见解:http://www.jaylee.org/post/2010/07/05/VS2010-On-the-Impacts-of-Debugging-with-Just-My-Code.aspx