1

在 Visual Studio 中构建私有符号化版本的正确配置是什么?我想生成并存储一个 PDB 文件,它允许我对构建的可执行文件的故障转储进行符号化,但要避免在可执行文件本身中嵌入调试信息,这将允许外部用户观察符号,例如函数和变量名称,而无需PDB。

我习惯了 DWARF 调试格式,它既可以嵌入到可执行文件中,也可以导出到单独的 dSYM 文件中,这似乎与 PDB 大致相当;我不确定 Visual Studio 是否有类似的选项,即曾经/有时在可执行文件中嵌入类似的调试信息,如果有,我需要打开哪些配置选项以确保发布版本没有t 嵌入此信息。

4

1 回答 1

3

/ Z7、/Zi、/ZI(调试信息格式)编译器选项允许您

选择为您的程序创建的调试信息的类型以及该信息是保存在对象 (.obj) 文件中还是保存在程序数据库 (PDB) 中。

两者/Zi以及/ZI将调试信息存储在程序数据库中。所有信息都不会编译到最终的可执行映像中。

由于您计划使用调试信息来分析(可能)发布版本的故障转储,因此请确保还启用了/Zo(增强优化调试)编译器选项。

于 2017-02-01T12:42:11.807 回答