Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VisualStudio2010中调试模式和发布模式之间有什么区别?_C#_Asp.net - Fatal编程技术网

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搜索最大的区别可能是,在发布版中,启用了许多优化以使程序性能更好,这通常会妨碍程序的调试能力。所以区别不仅仅在于缺少调试信息。