【发布时间】:2009-01-14 01:07:25
【问题描述】:
“生成调试信息”在 VB/C# 中是什么意思?
“none”和“pdb-only”之间的区别非常明显。但是“pdb-only”和“full”呢?
【问题讨论】:
“生成调试信息”在 VB/C# 中是什么意思?
“none”和“pdb-only”之间的区别非常明显。但是“pdb-only”和“full”呢?
【问题讨论】:
编译器会在您构建时为您生成一个 pdb 文件,其中包含应用程序的符号,Visual Studio 调试器和外部调试器可以使用它来轻松查找出错的地方。
“Full”表示在您构建应用程序时将生成完整的调试信息,因此代码本身将是可调试的,其中包括将代码链接到调试信息的[DebuggableAttribute],例如符号。
“pdb-only”表示构建时只生成pdb调试信息,不会将[DebuggableAttribute]添加到JIT编译器用来链接代码调试信息的编译代码中。
更多信息可以找到here
【讨论】:
来自Should I compile release builds with debug info as "full" or "pdb-only"?
另见https://docs.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info
我会用 pdb-only 构建。您将无法附加调试器 到发布的产品,但如果你得到一个崩溃转储,你可以使用 Visual Studio 或 WinDBG 检查堆栈跟踪和内存转储 坠机时。
如果你使用 full 而不是 pdb-only,你会得到相同的结果 好处,除了可执行文件可以直接附加到 调试器。鉴于您的情况,您需要确定这是否合理 产品和客户。
【讨论】: