首页 > 其他分享 >gdb mi接口命令入门大全

gdb mi接口命令入门大全

时间:2022-12-16 10:34:59浏览次数:88  
标签:mi GDB gdb 版本 旧版本 断点 大全


入门的话,先看看我这两个博客

​​gdb调试常用概念整理_标biao的博客

​​关于调试器和IDE的一些认识_标biao的博客

gdb mi简介

gdb mi接口协议有3个版本 ​​GDB/MI Development and Front Ends (Debugging with GDB)​

与gdb版本对应关系如下:(gdb指的是gdb.exe(文中简称为gdb),而gdb mi指的是和gdb.exe的通信协议)

gdb mi接口命令入门大全_旧版

 新版本gdb照样兼容旧版本的gdb mi协议, 但是旧版本gdb当然用不了新版本的gdb mi协议。

建议用旧版本的gdb mi协议,因为,无论旧版本的gdb还是新版本的,都能成功使用。因为在嵌入式开发中,往往用的gdb都是版本多种多样,而且往往都比较旧(比如我的桌面程序开发gdb就是10.2版本,但是嵌入式gdb版本是7.10,版本差别很大,导致有些高版本的gdb mi命令在嵌入式gdb就用不了,下面的示例将会看到这一点)。

旧版本gdb mi参考资料

旧版本的gdb mi接口官方手册网址:(5.1版本)
​​​Debugging with GDB - Table of Contents​​ 关于整个gdb的

​Debugging with GDB - GDB/MI​​ 里面的gdb mi这部分的

精简的的中文参考博客 ​​GDB/MI 层命令介绍_coutcin的博客

该作者对该文档进行了大致翻译 ​​GDB/MI 命令总结_哭哭啼的博客

新版本gdb mi参考资料

官方网址:​​GDB/MI (Debugging with GDB)​

应用示例记录

这里旧版本:指5.1版本的gdb mi协议,新版本指9.1版本的gdb mi协议

  • 断点插入命令
    旧版本: -break-insert [ -t ] [ -h ] [ -r ] [ -c condition ] [ -i ignore-count ] [ -p thread ] [ line | addr ] [xx]代表可选项。 语义:-t 插入一个临时断点 -h 插于一个硬件端点 -r 插入一个正则断点,当函数名匹配正则表达式时有效 -c 插入一个条件断点 -i 插入一个指定无效次数的断点
    插入指定文件,行号的断点,-break-insert filename:lineNumber(嵌入式端gdb版本低,所以这样是对的)

    查看更多,就按照上面我推荐的博客去看看吧,不难


    新版本:
    -break-insert  --source "xx/main.c" --line 99这样的,但是这个在旧版本的gdb.exe中就不能识别,会报错 Unknown option ''-source''"。

    所以特别注意,可能有些命令旧版本gdb 跟 新版本gdb不一样的,好不好使,就看gdb反馈的信息是不是^error,是的话,就看看是什么问题

标签:mi,GDB,gdb,版本,旧版本,断点,大全
From: https://blog.51cto.com/u_13682052/5946881

相关文章

  • KBU1010-ASEMI电源控制柜整流桥KBU1010
    编辑:llKBU1010-ASEMI电源控制柜整流桥KBU1010型号:KBU1010品牌:ASEMI封装:KBU-4特性:整流桥正向电流:10A反向耐压:1000V恢复时间:>2000ns引脚数量:4芯片个数:4芯片尺寸:10......
  • 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
    未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。说明: 执行当前Web请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的......
  • vivo 在虚拟机linux下插入USB报错 no permission (user in plugdev group)
    https://www.cnblogs.com/lili414/p/16892573.html网上找的解决方法:1. sudovim/etc/udev/rules.d/51-android.rules 创建一个规则文件2.文件中输入如下内容SUBS......
  • [LeetCode] 1785. Minimum Elements to Add to Form a Given Sum
    Youaregivenanintegerarray nums andtwointegers limit and goal.Thearray nums hasaninterestingpropertythat abs(nums[i])<=limit.Return the......
  • Docker 创建安装运行.NetCore/Consul/minio脚本命令相关
    ==dockernetworkcreate-dbridgejasonnet1:.NetCore相关项目//===========01:登录认证授权sudodockerrm容器id-fsudodockerrmiv_authserve......
  • docker安装minio OSS文件存储服务
    查看minio的docker版本使用docker命令查看minio的版本dockersearchminio拉取镜像dockerpullminio/minio创建目录:一个用来存放配置,一个用来存储上传文件的目录......
  • TIL:Git Squash Commits
    背景比如开发某个feature,可能需要好几天,但是每天都需要提交代码(只是假设)那commit的粒度如何控制,可以看看这个讨论:https://www.v2ex.com/t/623219可是每天提交的信息好......
  • HDMI协议1.4 好文推荐!
    版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/zhoutaopower/article/details/112182490手上的......
  • Microsoft.Practices.EnterpriseLibrary连接Oracle
    icrosoftEnterpriseLibrary用起来也是挺不错的,对于习惯自己写sql语句的开发者们,这个应该挺好的。下面以连接Oracle为例简单介绍下如何连接数据库。首先下载MicrosoftEnt......
  • mian函数中代码执行顺序
    /**自己写程序最好是参照下面的书写过程**/1//程序主入口函数----------------------------------2intmain(intargc,char*const*argv)3{5//(0......