Visual Studio 的调试“未使用调试信息生成二进制文件”
问题
在给代码打断点进行调试时,常出现的问题为“未使用调试信息生成二进制文件”,断点红心圆为空心的。

在顶部菜单栏中,点击 "调试"->“窗口”->“模块” 打开模块窗口。
符号状态 (Symbol Status):
- 已加载符号 (Symbols Loaded):✅ VS 已成功找到并加载了与该模块匹配的 .pdb(调试符号)文件。
- 未使用调试信息生成二进制文件:模块在编译时没有生成调试信息(没有使用 /Zi 或 /ZI 编译)。
- 包含/排除设置已禁用符号加载: 如果禁用了符号加载,则 VS 不会加载模块的符号。
解决办法
1. 修改项目配置,启动调试信息生成(最常用)
-
打开项目属性:在解决方案资源管理器中,右键点击你的项目,选择
属性。 -
切换配置:确保右上角的
配置下拉框选择的是Release。 -
找到调试信息设置:
-
进入
C/C++->常规。 -
找到
调试信息格式选项。
-
- 将其从默认的
无改为程序数据库 (/Zi)或用于编辑并继续的程序数据库 (/ZI)。(通常 /Zi 就足够了)。
-
链接器设置(确保生成完整的 PDB):
-
进入
链接器->调试。 -
找到
生成调试信息选项,确保其设置为是 (/DEBUG)。 -
查看
生成程序数据库文件选项,它通常默认为$(OutDir)$(TargetName).pdb,这就是生成的 PDB 文件路径。
-
-
确认优化级别(可选但重要):
-
仍然在
Release配置下,进入C/C++->优化。 -
优化选项默认是最大化速度 (/O2)或最小化大小 (/O1)。这是Release模式性能好的关键。 -
重要提示:启用调试信息不会禁用代码优化。这意味着你的代码仍然会被高度优化,但调试起来可能会有些“反直觉”,例如变量被优化掉、语句执行顺序改变等。但这正是为了模拟真实发布环境的问题。
-
-
重新生成解决方案:点击
生成菜单下的重新生成解决方案。现在生成的 Release 版本就应该附带 PDB 文件了。

浙公网安备 33010602011771号