我很好奇有什么差异之间的调试和发布方式。净编译器,并遇到了这些问题 "调试"vs释放。净原因释放行为不同于"调试".到了这一点,我真的还没有很重视这些编译器模式。现在,我会的。

我的问题是,假设我使用的测试框架(关)和文字,我会遇到任何问题,如果我简单地总是汇编成释放模式?

有帮助吗?

解决方案

您正在使用TDD。你写你的测试。测试失败。你写的代码通过测试。该代码失败。你看看你写的代码并不能看到失败的原因任何明显的原因。你理智些或在调试器启动测试(使用TestDriven.Net),并通过测试步骤?也许我只是没有足够的智慧总是找出为什么我的代码不工作,但我通常会选择后者时,我很为难。

其他提示

调试模式关闭很多优化。这意味着当你得到一个堆栈跟踪它看起来更像原来的代码。

和释放配置调试之间的漂亮显著不同的是标有ConditionalAttribute方法的调用如果相关联的符号被定义仅编译。所以你的Debug类的方法的调用,如果您编译使用发布配置没有得到包括在内。

这可以让你花彩与断言和转储信息发送到控制台代码的代码,仍然有信心,没有那个开销是怎么回事出现在您的运输代码。

此外,编辑和 - 继续是一个非常有用的工具,并且它依赖于这是一个从释放省略的元信息的基础之上。

有关调试。

就像tvanfosson说,就算你平时不使用调试器(我知道我这样做不是),有时你需要。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top