c# - Visual Studio 中的“调试”和“发布”有什么区别?

标签 c# .net visual-studio

Possible duplicate Debug Visual Studio Release in .NET

Visual Studio 中的“调试”和“发布”有什么区别?

最佳答案

最重要的是,在 Debug 模式下没有优化,而在 Release 模式下有优化。这很重要,因为编译器非常先进,可以对代码进行一些非常棘手的低级改进。因此,您的代码中的某些行可能根本没有任何说明,或者有些行可能会完全混淆。逐步调试是不可能的。此外,局部变量通常以神秘的方式进行优化,因此 Watches 和 QuickWatches 通常不起作用,因为变量被“优化掉”。还有许多其他优化。有时尝试调试优化的 .NET 代码,您就会看到结果。

另一个关键区别是,因此默认发布设置不会生成大量调试符号信息。这就是您可能已经注意到的 .PDB 文件,它允许调试器找出哪些汇编指令对应于哪一行代码等。

关于c# - Visual Studio 中的“调试”和“发布”有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/367884/

相关文章:

c# - 如何创建随音频变化的显示

c# - mongoDB C# 驱动程序未返回任何数据

c# - 如何增加 Asp .Net MVC 5 中的 session 超时时间?

c# - 获取 List<T> 的现有实例

macos - 使用cmake在mac上生成visual studio解决方案

windows - 使用 msvc 为 Windows 构建 Qt - Qmakespec 错误

c# - 删除引用时 Visual Studio 崩溃

c# - 使用 linq 将 xml 文件加载到二维矩形数组中

.net - 如何确定 SQL Server 存储过程参数是否有默认值?

c# - 使用 callvirt 调用 base.ToString() 如何导致 StackOverflow 异常?