运行C++文件时preLaunchTask任务终止(退出码-1)求助
解决C++调试时preLaunchTask退出码-1的问题
核心问题排查与修复步骤
1. 修正调试器路径(launch.json)
你的launch.json中miDebuggerPath配置为占位符/path/to/gdb,必须替换为实际的gdb.exe路径:
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe"
确保路径与MinGW实际安装目录一致,若MinGW装在其他盘符(如D盘),需对应修改路径。
2. 统一可执行文件路径(launch.json与tasks.json)
tasks.json生成的exe文件路径为${fileDirname}\\${fileBasenameNoExtension}.exe(当前文件所在目录)launch.json指定的调试目标路径为${workspaceFolder}/${fileBasenameNoExtension}.exe(工作区根目录)
若C++文件不在工作区根目录,两个路径会不匹配导致调试失败。将launch.json的program字段修改为:
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe"
3. 验证编译器可用性
打开终端,手动执行tasks.json中的构建命令(替换你的文件名.cpp为实际文件名):
C:\MinGW\bin\g++.exe -fdiagnostics-color=always -g 你的文件名.cpp -o 你的文件名.exe
- 若命令报错,说明g++.exe路径错误、MinGW未正确安装或编译器损坏,需重新安装MinGW并确认路径正确。
- 若命令成功生成exe,说明问题出在VS Code配置而非编译器本身。
4. 检查权限与拦截问题
- 以管理员身份运行VS Code,避免因权限不足无法生成exe文件。
- 暂时关闭杀毒软件或防火墙,排查是否被拦截生成exe或执行编译器。
5. 重置VS Code配置
关闭VS Code,删除项目目录下的.vscode文件夹,通过调试面板的"创建launch.json文件"向导重新生成默认配置,避免配置文件存在隐藏语法错误。
内容的提问来源于stack exchange,提问作者Anthony Ghosn
相关产品推荐
相关产品推荐

