带有完整嵌入式调试符号的Windows可执行文件

时间:2017-08-17 21:30:23

标签: windows symbols dbghelp

是否存在Windows可执行文件(使用Visual Studio以C ++编写)可以包含其完整调试符号的情况?或者仅包含在其.pdb文件中的完整调试符号集?

有没有办法配置构建Windows应用程序,以便我们可以调试它而不需要.pdb文件?

1 个答案:

答案 0 :(得分:1)

来自the documentation for your toolchain

  

编译器的C7兼容(/ Z7)选项使编译器将调试信息保留在.obj文件中。您还可以使用程序数据库(/ Zi)编译器选项将调试信息存储在.obj文件的PDB中。链接器首先在.obj文件中写入的绝对路径中查找对象的PDB,然后在包含.obj文件的目录中查找。您无法为链接器指定对象的PDB文件名或位置。

     

无法创建包含调试信息的.exe或.dll。调试信息始终放在.obj或.pdb文件中。

这并不排除其他工具放置在EXE文件的一部分中的调试信息......但Microsoft Visual Studio的C ++工具从未这样做。

有关将调试信息放入OBJ文件(可能包含在LIB静态库中)而不是PDB的信息,请阅读the documentation on the compiler option for Debug Information Format