VS Code 1.88调试C++前自动插入^C指令?求排查原因
VS Code调试C++时终端自动输入^C的问题描述
每次使用VS Code运行C代码,终端会在启动前自动执行^C(中断指令)和回车操作,该操作并非手动触发。已检查launch.json文件未发现异常,当前使用的C/C扩展版本为1.19.9。
终端输出示例
PS D:\Documents\Code\STL> ^C PS D:\Documents\Code\STL> PS D:\Documents\Code\STL> & 'c:\Users\27532\.vscode\extensions\ms-vscode.cpptools-1.19.9-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-ycqe3hxg.xjn' '--stdout=Microsoft-MIEngine-Out-c1vkgva4.men' '--stderr=Microsoft-MIEngine-Error-qsdbie2i.1u5' '--pid=Microsoft-MIEngine-Pid-wpjz1cze.2ye' '--dbgExe=d:\DevEnv\MSYS2\ucrt64\bin\gdb.exe' '--interpreter=mi'
launch.json配置
{ "configurations": [ { "name": "C/C++: g++.exe 生成和调试活动文件", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}\\out\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "d:\\DevEnv\\MSYS2\\ucrt64\\bin", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "d:\\DevEnv\\MSYS2\\ucrt64\\bin\\gdb.exe", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "将反汇编风格设置为 Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ], "preLaunchTask": "C/C++: g++.exe 生成活动文件" } ], "version": "2.0.0" }
可能的解决方法
- 检查预启动任务配置:打开
.vscode/tasks.json,确认编译任务中是否存在异常的中断指令或进程终止逻辑。 - 切换外部控制台调试:将
launch.json里的externalConsole改为true,使用系统原生控制台进行调试,验证问题是否复现。 - 更新C/C++扩展:当前1.19.9版本较旧,更新至最新版本可修复部分终端交互类bug。
- 重置终端状态:按
Ctrl+Shift+P执行Terminal: Reset Terminal命令,重置终端后重新调试。 - 检查工作区设置:查看
.vscode/settings.json中是否存在影响终端启动的自定义参数,比如terminal.integrated.shellArgs.windows相关配置。
内容的提问来源于stack exchange,提问作者Langur
相关产品推荐
相关产品推荐

