【发布时间】:2013-06-27 15:44:57
【问题描述】:
在 .NET 4.5 中,我们设置了程序集来为 Release 构建构建调试符号 - 以帮助在客户站点上调试故障转储等。
我的问题是:没有调试器附加并在生产中正常运行,调试符号的存在是否会导致垃圾收集器的行为有所不同?
我最近在一本电子书中读到以下内容:
“这些程序集中的每一个都将使用调试符号进行编译,从而导致性能下降,这意味着 GC 将无法像在发布版本中那样有效地工作。本质上,GC 在回收内存方面的积极性会降低当包含调试符号时。由于包含调试符号, GC 需要准备好可以附加调试器,并且许多用于识别不可达引用的规则可能不适用。附加调试器后, 可以访问更多的对象。”
这是真的吗?
【问题讨论】:
-
请为该电子书命名,这对其他 SO 用户来说很重要,以远离此类废话。
标签: .net garbage-collection debug-symbols