VS Code调试C程序时工具栏按钮禁用、调试箭头消失问题求助
VS Code MinGW64 C语言调试单步后工具栏禁用问题解决建议
- 优先检查编译参数是否携带调试信息生成标识
MinGW的gcc编译C代码时必须添加-g参数才会生成gdb调试所需的符号信息,未加该参数时会出现仅能停在入口、单步后调试丢失的问题。
手动编译示例命令:gcc 你的代码文件名.c -o 生成的程序名.exe -g
如果你使用tasks.json自动编译,需确认tasks.json的args配置项中已包含-g参数,且没有-O1/-O2/-Os这类优化参数,优化参数会裁剪代码行映射关系,导致调试无法定位。 - 核对launch.json配置正确性
- 确认
miDebuggerPath参数指向MinGW64安装路径下bin目录内的gdb.exe,路径避免出现中文、空格,反斜杠需转义,示例:"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe" - 确认
program参数指向的是你刚才加-g参数编译生成的exe文件,不要指向旧的未携带调试信息的程序,推荐使用变量写法:"program": "${fileDirname}\\${fileBasenameNoExtension}.exe" - 确认
cwd参数设置为"${fileDirname}",和程序运行的工作目录保持一致
- 确认
- 检查C/C扩展版本适配性
你使用的VS Code 1.61属于较老版本,不兼容最新版的C/C扩展,需安装适配的旧版本扩展:打开扩展面板找到C/C++扩展,点击齿轮图标选择「安装另一个版本」,选择1.8.x系列版本安装后重启VS Code即可。 - 验证MinGW环境配置有效性
打开系统cmd窗口执行gdb --version,如果无法正常输出gdb版本信息,说明MinGW64的bin目录未正确添加到系统Path环境变量,重新配置环境变量后重启VS Code即可。
内容的提问来源于stack exchange,提问作者Tshepang
相关产品推荐
相关产品推荐

