为什么我会希望用"调试"模式。净编译器吗?
-
19-08-2019 - |
题
我很好奇有什么差异之间的调试和发布方式。净编译器,并遇到了这些问题 "调试"vs释放。净 和 原因释放行为不同于"调试".到了这一点,我真的还没有很重视这些编译器模式。现在,我会的。
我的问题是,假设我使用的测试框架(关)和文字,我会遇到任何问题,如果我简单地总是汇编成释放模式?
解决方案
您正在使用TDD。你写你的测试。测试失败。你写的代码通过测试。该代码失败。你看看你写的代码并不能看到失败的原因任何明显的原因。你理智些或在调试器启动测试(使用TestDriven.Net),并通过测试步骤?也许我只是没有足够的智慧总是找出为什么我的代码不工作,但我通常会选择后者时,我很为难。
其他提示
调试模式关闭很多优化。这意味着当你得到一个堆栈跟踪它看起来更像原来的代码。
和释放配置调试之间的漂亮显著不同的是标有ConditionalAttribute
方法的调用如果相关联的符号被定义仅编译。所以你的Debug
类的方法的调用,如果您编译使用发布配置没有得到包括在内。
这可以让你花彩与断言和转储信息发送到控制台代码的代码,仍然有信心,没有那个开销是怎么回事出现在您的运输代码。
此外,编辑和 - 继续是一个非常有用的工具,并且它依赖于这是一个从释放省略的元信息的基础之上。
有关调试。
就像tvanfosson说,就算你平时不使用调试器(我知道我这样做不是),有时你需要。
不隶属于 StackOverflow