在Linux下使用vscode使用交叉编译工具链的gdb对core文件进行堆栈、变量查看

当我们交叉编译的程序在目标机器崩溃挂掉的时候,一般可以通过设置ulimit -c unlimited让其生成一个core文件。

我们拿到此文件后,可以在交叉编译的主机上,利用其工具链的gdb+编译时产生的符号信息来查看gdb的内容,方便我们定位代码出错的地方。

但是仅仅用gdb的话,只能靠命令行窗口查看,不是很方便,但是可以配合vscode。

在vscode的debug栏,点击Run and debug里面的Add configuration,配合一段代码,便可以利用gui来查看信息。

注意下面这段代码是需要自己手动插入的,vscode自带的模板中是没有的

yaml 复制代码
{
            "name": "GDB Debug Core Dump",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/untitled1",        // 你的可执行文件
            "coreDumpPath": "${workspaceFolder}/core.87112",  // 核心转储文件路径
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "loongarch64-linux-gnu-gdb", // 交叉编译工具的gdb
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "stopAtEntry": false
        }

加入后,launch.json的样子如下:

然后,执行,就可以看到调用堆栈、局部变量、源码等信息了


参考
【vscode在docker内gdb调试core dump文件】
【使用 VSCode 远程 图形化 GDB 调试 嵌入式linux】

相关推荐
探索宇宙真理.15 分钟前
Nginx UI MCP接口绕过认证漏洞 | CVE-2026-33032复现&研究
运维·经验分享·网络安全·nginx-ui
llm大模型算法工程师weng19 分钟前
负载均衡做什么?nginx是什么
运维·开发语言·nginx·负载均衡
byoass39 分钟前
企业云盘私有化部署:存储架构设计与安全运维全流程实战
运维·网络·安全·云计算
fTiN CAPA1 小时前
服务器无故nginx异常关闭之kauditd0 kswapd0挖矿病毒 CPU占用200% 内存耗尽
运维·服务器·nginx
北山有鸟1 小时前
相机的水平消隐与垂直消隐
linux·驱动开发·相机
还不秃顶的计科生1 小时前
多模态模型下载
java·linux·前端
无忧.芙桃1 小时前
进程控制之进程等待
linux·运维·服务器
萑澈2 小时前
vscode怎么关闭点击音效
ide·vscode·编辑器
云栖梦泽2 小时前
Linux内核与驱动:13.从设备树到Platform平台总线
linux·运维·c++·嵌入式硬件
纯氧゜2 小时前
文件名长度真相:别再被8.3规则误导了
linux·ai写作