Ubuntu下用VS Code编写C代码时终端出现奇怪消息求助
解决VS Code运行C代码后出现gdb进程完成消息的问题
问题原因
这条消息是C/C扩展的调试引擎(MIEngine)启动的gdb调试进程正常退出的日志。每次运行都出现,是因为你同时启用了CodeRunner插件的运行功能和**C/C扩展的调试关联逻辑**,导致调试进程被触发后快速结束,从而输出该完成信息。
解决方法
调整CodeRunner配置,断开调试关联
打开VS Code设置(快捷键Ctrl+,),搜索Code-runner: Run In Terminal并勾选;再搜索Code-runner: Enable Debugger,取消勾选该选项。这样CodeRunner只会单纯编译运行代码,不会触发gdb调试进程。修改tasks.json,配置纯编译运行任务
若习惯用C/C++扩展的任务运行而非CodeRunner,可创建或修改.vscode/tasks.json文件,配置仅编译运行的任务,避免触发调试流程:{ "version": "2.0.0", "tasks": [ { "label": "Compile and Run C", "type": "shell", "command": "gcc ${file} -o ${fileDirname}/${fileBasenameNoExtension} && ${fileDirname}/${fileBasenameNoExtension}", "args": [], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared", "showReuseMessage": true, "clear": false } } ] }之后按
Ctrl+Shift+B运行该任务,仅执行编译和运行,不会启动gdb。禁用其中一个插件的运行功能
若主要使用CodeRunner,关闭C/C扩展的自动调试触发;反之则禁用CodeRunner,只用C/C扩展的任务和调试配置,避免两者功能冲突。
额外说明
之前的stdio.h缺失问题,安装libc6-dev是正确操作,该包包含C标准库头文件与编译所需链接库,已解决编译依赖问题。
内容的提问来源于stack exchange,提问作者Elliot Scaramal
相关产品推荐
相关产品推荐

