You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决GDB在VS Code(Linux)中出现的异常崩溃报错问题

Linux下VS Code调试C++偶现"Aborted (core dumped)"问题排查

问题场景

调试以下C++代码时,偶发出现Aborted (core dumped)报错,并非每次调试都会触发:

#include <iostream>

int main() {
    std::cout << "Checking Debugging Progress!";
    return 0;
}

报错信息

Aborted (core dumped) [1] + Aborted (core dumped)      "/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-ua1ohquu.lr2" 1>"/tmp/Microsoft-MIEngine-Out-s1zccpii.3ja"

构建任务配置(tasks.json)

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

问题分析与解决建议

从提供的配置来看,你的构建任务没有操作失误:-g参数已正确添加,确保生成了带调试符号的可执行文件,其他参数也符合标准调试构建要求。这个偶现报错大概率是环境或组件兼容性问题,而非操作错误,可尝试以下排查方向:

  • 更新组件版本:GDB与VS Code的C/C插件(依赖Microsoft MIEngine通信)可能存在版本兼容性问题,尝试更新GDB到最新稳定版,同时升级VS Code的C/C插件。
  • 清理临时文件:报错中涉及的/tmp目录下的MIEngine临时文件可能存在权限或冲突问题,手动删除所有Microsoft-MIEngine-*开头的文件后再重新调试。
  • 检查系统资源:系统内存不足时,GDB进程可能被内核强制终止,调试时可通过top命令监控内存占用,关闭冗余后台进程。
  • 切换调试终端:VS Code集成终端的环境变量异常可能影响GDB运行,可在launch.json中添加"externalConsole": true,切换到外部终端进行调试。

内容的提问来源于stack exchange,提问作者Nazmus Sakib Sibly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:45:30