当前位置: 首页 > news >正文

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

当我们交叉编译的程序在目标机器崩溃挂掉的时候,一般可以通过设置ulimit -c unlimited让其生成一个core文件。
我们拿到此文件后,可以在交叉编译的主机上,利用其工具链的gdb+编译时产生的符号信息来查看gdb的内容,方便我们定位代码出错的地方。
但是仅仅用gdb的话,只能靠命令行窗口查看,不是很方便,但是可以配合vscode。
在vscode的debug栏,点击Run and debug里面的Add configuration,配合一段代码,便可以利用gui来查看信息。
在这里插入图片描述

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

{"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】

相关文章:

  • Spring Data MongoDB 技术指南
  • Spring核心框架完全指南 - 基础知识全解析
  • opencv vs2020正确的环境配置
  • Qt 动态插件系统QMetaObject::invokeMethod
  • 新闻类鸿蒙应用全链路运维指南:高并发场景下的稳定保障
  • Linux操作系统-性能优化
  • list类型
  • 亚远景-ASPICE在汽车软件全生命周期管理中的作用
  • AI Agent 的架构与技术体系分析
  • 在当系统未连接上wifi的时候,直接不显示wifi列表 ,这个判断导致?
  • 贪心选择 (Greedy Choice)
  • Vue2数组响应式问题:Object.defineProperty不能监听数组吗
  • 论文略读:RegMix: Data Mixture as Regression for Language Model Pre-training
  • 杉山将(Sugiyama Masa)《图解机器学习》
  • 2023蓝桥杯C/C++ B组国赛
  • swagger通过配置将enum自动添加到字段说明中
  • Neo4j批量数据导入完全指南:高效处理大规模数据
  • Java多线程实现之同步方法详解
  • 创客匠人助力家庭教育IP破局:从0到1打造创始人个人品牌全攻略
  • Windows11下搭建Black Magic Probe (BMP) 编译环境
  • 安卓网站开发/网站优化流程
  • 个人做网站需要备案吗/网页模板建站系统
  • 芜湖做网站公司/南宁seo关键词排名
  • 嘉兴做网站优化价格/市场营销证书含金量
  • wordpress 4.6.1 漏洞/seo 推广教程
  • 网站子目录建立/网站建设知名公司