Visual Studio 2010中的调试模式和发布模式有什么区别?

时间:2011-03-17 12:03:28

标签: c# asp.net

  

可能重复:
  Debug/Release difference
  Performance differences between debug and release builds

在调试模式VS发布模式下编译和运行asp.net/c#项目有何不同?

3 个答案:

答案 0 :(得分:21)

调试模式中,您的.exe内有调试信息(源代码,变量名称和其他类似内容)。

发布模式中,.exe缺少调试信息会使其变小,并且由于占用空间较小,可能表现更好。

答案 1 :(得分:4)

这些之间的最大区别是: 在调试版本中,发出完整的符号调试信息以帮助调试应用程序,并且不考虑代码优化。 在发布版本中,不会发出符号调试信息,并且优化了代码执行。 此外,由于在发布版本中未发出符号信息,因此最终可执行文件的大小小于调试可执行文件的大小。

由于编译器优化或内存布局或初始化的差异,人们可以期待在发布版本中看到有趣的错误。这些通常被称为Release - Only bugs:)

就执行速度而言,发布可执行文件肯定会执行得更快,但并不总是这种差异很大。

答案 2 :(得分:1)

其他编译参数,它们为您提供生成的可执行文件中的更多调试信息以及您在msdn上阅读的更多选项。

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/74db169a-e244-496e-ae97-8dfec18ff2e5