C# VisualStudio2010中调试模式和发布模式之间有什么区别?
可能的重复项:C# VisualStudio2010中调试模式和发布模式之间有什么区别?,c#,asp.net,C#,Asp.net,可能的重复项: 在调试模式下编译和运行asp.net/c#项目与在发布模式下编译和运行asp.net/c#项目有什么不同?其他编译参数,它们在生成的可执行文件中为您提供了更多的调试信息,以及您希望在msdn上阅读的更多选项 在调试模式下您的.exe包含调试信息(源代码、变量名和其他类似信息) 在发布模式下您的.exe缺少调试信息会使其更小,并且由于占用空间更小,可能会执行得更好。两者之间的最大区别在于: 在调试构建中,在调试应用程序时会发出完整的符号调试信息以提供帮助,同时也不会考虑代码优化
在调试模式下编译和运行asp.net/c#项目与在发布模式下编译和运行asp.net/c#项目有什么不同?其他编译参数,它们在生成的可执行文件中为您提供了更多的调试信息,以及您希望在msdn上阅读的更多选项
在调试模式下您的
.exe
包含调试信息(源代码、变量名和其他类似信息)
在发布模式下您的
.exe
缺少调试信息会使其更小,并且由于占用空间更小,可能会执行得更好。两者之间的最大区别在于:
在调试构建中,在调试应用程序时会发出完整的符号调试信息以提供帮助,同时也不会考虑代码优化。
在发布版本中,不会发出符号调试信息,代码执行也会得到优化。
此外,由于符号信息不会在发布版本中发出,因此最终可执行文件的大小小于调试可执行文件
由于编译器优化或内存布局或初始化的差异,在发布版本中可能会看到有趣的错误。这些通常被称为仅限发布的bug:)
就执行速度而言,发布版可执行文件的执行速度肯定会更快,但这种差异并不总是显著。确切的dupe:dupe 2 dupe 3:和dupe 4使用SO/google搜索最大的区别可能是,在发布版中,启用了许多优化以使程序性能更好,这通常会妨碍程序的调试能力。所以区别不仅仅在于缺少调试信息。