可能重复

在VisualStudio中调试和发布有什么区别?

推荐答案

最重要的是,在调试模式下没有优化,而在发布模式下有优化.这一点很重要,因为编译器非常先进,可以对您的代码进行一些相当棘手的低级改进.因此,您的代码中的某些行可能会完全没有任何指令,或者可能会完全混淆.循序渐进的调试是不可能的.此外,局部变量通常以神秘的方式进行优化,因此手表和QuickWatch通常无法工作,因为变量被"优化"了.还有许多其他的优化.有空试着调试优化的.NET代码,您就会明白.

另一个关键区别是,由于这一点,默认版本设置不需要生成大量调试符号信息.这就是问题所在.您可能已经注意到了PDB文件,它允许调试器找出哪些汇编指令与哪一行代码对应,等等.

.net相关问答推荐

EF核心类似功能T-SQL UPDATE FROM

避免函数和其他对象之间的相互递归的模式?

在 Rx 中,处理线程安全是否是消费者(IObserver)的责任?

问:在 Blazor WASM 应用程序中存储 api 密钥的最佳方式是什么?

关于在 .NET 中干净地终止线程的问题

如何 Select 数据表中列的最小值和最大值?

使用 EPPlus 时如何设置列类型

是什么让 Enum.HasFlag 这么慢?

HttpClient 和使用代理 - 不断得到 407

你如何调试 MVC 4 API 路由?

如何遍历字典并更改值?

如何在 C# 中仅设置 DateTime 变量的时间部分

CryptographicException 未处理:系统找不到指定的文件

使用 C# 设置全局热键

ToLowerInvariant() 有什么问题?

如何在 nuspec 中指定特定的依赖版本?

例外:不支持 URI 格式

在不使用while循环的情况下找到最里面的异常?

在foreach循环中修改列表的最佳方法是什么?

如何使用匿名方法返回值?