最近工作中的一个测试工具在测试多台设备上使用过程中闪退,存了dump,但因为是release版本,没有pdb,无法根据dump定位代码哪块出了问题,很苦恼,查了下怎么加pdb生成,记录一下。以下是具体的设置步骤:
1.打开项目属性页
在解决方案资源管理器中,右键单击你的项目,然后选择 “属性”。
2.选择 Release 配置
在属性页的左上角,将 “配置” 下拉框选择为 “Release”。
3.配置生成 PDB 文件
- C/C++ 项目:
- 展开 “配置属性” -> “C/C++” -> “调试信息格式”。
- 将 “调试信息格式” 设置为 “程序数据库 (/Zi)” 或者 “编辑并继续的程序数据库 (/ZI)”(后者支持编辑并继续调试)。
- C# 项目:
- 展开 “配置属性” -> “生成”。
- 勾选 “高级” 按钮,在 “调试信息” 下拉框中选择 “pdb-only” 或者 “full”。“pdb-only” 仅生成 PDB 文件,“full” 还会在 DLL 或 EXE 中嵌入一些调试信息。
4.配置 PDB 文件输出路径
你可以指定 PDB 文件的输出路径,这有助于组织项目文件。
- C/C++ 项目:
- 展开 “配置属性” -> “链接器” -> “调试”。
- 在 “生成调试信息” 选项中,确保选择了 “是 (/DEBUG)”。
- 在 “程序数据库文件名” 中,可以指定 PDB 文件的输出路径和文件名,例如
$(OutDir)$(TargetName).pdb
。
- C# 项目:
- 在 “高级” 设置中,“调试信息” 设置好后,PDB 文件会默认生成在与输出文件相同的目录下。如果你想更改路径,可以通过修改项目文件(.csproj)手动指定。
5.应用设置并重新生成项目
点击 “应用” 和 “确定” 保存设置,然后重新生成你的项目(“生成” -> “重新生成解决方案”)。这样,在 Release 配置下生成的可执行文件或库文件就会伴随着相应的 PDB 文件。