我很好奇.NET编译器的调试模式和发布模式之间有什么区别,发现了关于 .NET中debug vs release和release与debug行为不同原因的问题。到这个地方我还没有太关注这些编译器模式。现在我会留意了。
我的问题是,假设我正在使用测试框架(NUnit)和TDD,如果我总是在发布模式下编译,是否会遇到任何问题?
我的问题是,假设我正在使用测试框架(NUnit)和TDD,如果我总是在发布模式下编译,是否会遇到任何问题?
你正在使用TDD。你编写了测试用例,测试失败了。然后你编写代码来通过测试用例,但是代码仍然失败了。你看着自己编写的代码,却找不到明显的原因为什么会失败。你是继续思考还是启动调试器(使用TestDriven.Net)并逐步执行测试用例?也许我不够聪明,不能总是知道我的代码为什么无法正常工作,但当我遇到困难时,我通常会选择后者。
调试模式会关闭许多优化。这意味着当您获得堆栈跟踪时,它将更像原始代码。
ConditionalAttribute
的方法才会被编译。因此,如果使用发布配置进行编译,则不会包括对Debug
类方法的调用。用于调试。
就像tvanfosson所说的,即使你通常不使用调试器(我知道我不会),有时你也需要使用它。