.NET:运行带有调试信息的程序

标签 .net debugging compiler-construction

众所周知,在“ Debug模式”(而不是“ Release模式”)下编译程序可能会导致性能下降。

但有时拥有一些调试信息可能会很有用。例如,当我们的程序在生产服务器上运行并发生异常时,记录异常时的堆栈跟踪将有助于。

我发现这是可能的,在“ Release模式”下编译代码并将 *.pdb 文件与二进制文件放在同一文件夹中。

任何人都知道附加 pdb 文件是否会导致任何性能问题。

谢谢

最佳答案

它不会导致任何性能问题,因为 DLL 是在 Release模式下编译的。当抛出异常时,.NET VM 知道有关堆栈跟踪的所有信息,包括抛出异常时堆栈的每个方法中正在运行什么指令。包含 pdb 文件只是提供了一种将此数据映射到实际文件名和行号的方法。

由于在堆栈跟踪中包含这些额外数据而导致的任何性能差异可能与首先抛出异常的开销相比相形见绌。

关于.NET:运行带有调试信息的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5665586/

相关文章:

java - 编译多个对象类时出现 ClassNotFound 错误

.net - 多线程调试技术

c# - 与 WCF 通信的 Android 应用程序

c# - 启用 System.Timers.Timer 和 GarbageCollector

c - strcmp 的奇怪行为 [C]

java - 如何写入 Netbeans 调试器控制台(使用 Java)?

C# 视频播放器

visual-studio-2010 - 使用 Azure 计算模拟器调试单角色实例

windows - g++ 为 Windows 生成可执行文件

c - 如何编译 GCC 生成的 asm?