2009-01-14 56 views

回答

19

当您构建包含应用程序符号的编译器时,编译器将为您生成一个pdb文件,Visual Studio调试器和外部调试器可以使用该文件轻松找到出错的地方。

“Full”表示在构建应用程序时将生成完整的调试信息,因此代码本身将是可调试的,其中包括[DebuggableAttribute],它将代码链接到调试信息,例如,符号。

“仅限pdb”意味着在构建时只生成pdb调试信息,而不会将[DebuggableAttribute]添加到JIT编译器用于将代码链接到调试信息的编译代码。

更多信息,可以发现here

+3

不幸的是,链接已经死亡。 – 2012-03-29 06:34:19

1

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-只。您将无法将调试器 附加到发布的产品,但如果您收到崩溃转储,则可以使用Visual Studio或WinDBG在崩溃时检查堆栈跟踪和内存转储 。

如果使用完全而不是pdb-only,那么除了可执行文件可以直接连接到 调试器外,您将获得相同的优势。您需要确定您的 产品&客户是否合理。