在Visual Studio中进行私有符号化版本构建的正确方法是什么?

时间:2017-01-31 11:36:09

标签: c++ visual-studio debug-information

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

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

1 个答案:

答案 0 :(得分:3)

/Z7, /Zi, /ZI (Debug Information Format)编译器选项允许您

  

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

private final TextWatcher mTextWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { } }; 以及/Zi都将调试信息存储在程序数据库中。这些信息都不会被编译成最终的可执行映像。

由于您计划使用调试信息来分析(可能)发布版本的故障转储,因此请确保/Zo (Enhance Optimized Debugging)编译器选项也已启用。