【发布时间】:2011-07-17 08:39:06
【问题描述】:
可能的重复:
Debug/Release difference
Performance differences between debug and release builds
在Debug模式和Release模式下编译运行asp.net/c#项目到底有什么不同?
【问题讨论】:
-
使用 SO/google 搜索 google.com/…
可能的重复:
Debug/Release difference
Performance differences between debug and release builds
在Debug模式和Release模式下编译运行asp.net/c#项目到底有什么不同?
【问题讨论】:
在调试模式中,您的.exe 内部有调试信息(源代码、变量名和其他类似的东西)。
在发布模式下,您的.exe 缺少调试信息会使其更小,并且由于占用空间更小,性能可能更好。
【讨论】:
这两者最大的区别在于: 在调试版本中,会发出完整的符号调试信息以帮助调试应用程序,并且不考虑代码优化。 在发布版本中,不会发出符号调试信息,并且优化了代码执行。 此外,由于符号信息不会在发布版本中发出,因此最终可执行文件的大小小于调试可执行文件。
由于编译器优化或内存布局或初始化的差异,人们可能会在发布版本中看到有趣的错误。这些通常被称为发布 - 只有错误:)
就执行速度而言,发布的可执行文件肯定会执行得更快,但这种差异并不总是很显着。
【讨论】:
在生成的可执行文件中为您提供更多调试信息的其他编译参数以及您希望在 msdn 上阅读的更多选项。
http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/74db169a-e244-496e-ae97-8dfec18ff2e5
【讨论】: