GDB/MI 层命令介绍

本文介绍了GDB的MI层命令,主要用于IDE如Eclipse CDT的调试功能。内容包括断点管理、程序环境、线程、执行、栈、变量、数据、跟踪点、符号、文件和目标数据等命令的使用示例。
摘要由CSDN通过智能技术生成

//作者:coutcin,http://blog.csdn.net/coutcin

对于gdb的命令很多人可能都已经很熟悉了,本文介绍的mi层命令可能很少有人用到,它也是gdb的一部分,主要目的是为一些目标系统如IDE等提供调试功能,如eclipse下c/c++的cdt插件的底层就是调用的mi层命令,cdt的包里面有两个类RxThread,TxThread就是一个发送mi命令,一个接收返回数据的,大家有兴趣可以研究下。

mi的命令依然是以文本行方式提供的,并兼容我们常用的gdb CLI命令,下面我们看一下它的进入和退出:

⇒进入命令 gdb --interpreter mi ****.exe

⇒推出命令 quit

效果如下:

D:/exercise/c/test>gdb --interpreter mi
~"GNU gdb 6.3.50_2004-12-28-cvs (cygwin-special)/n"
~"Copyright 2004 Free Software Foundation, Inc./n"
~"GDB is free software, covered by the GNU General Public License, and you are/n
"
~"welcome to change it and/or distribute copies of it under certain conditions./
n"
~"Type /"show copying/" to see the conditions./n"
~"There is absolutely no warranty for GDB.  Type /"show warranty/" for details./
n"
~"This GDB was configured as /"i686-pc-cygwin/"."
~"/n"
(gdb)
quit
&"quit/n"

D:/exercise/c/test>

mi的命令总共分为以下几个部分:

1.断点(Breakpoint)

2.程序环境(Program Context)

3.线程(Thread)

4.程序执行(Program Execution)

5.栈(Stack)

6.变量(Variable)

7.数据(Data)

8.跟踪点(Tracepoint)

9.符号(Symbol)

10.文件(File)

11.目标数据(Target Manipulation)

12.其它杂项

我们以下面这段代码为例演示各种命令的执行结果:

 

/*
** demo.c
*/


#include 
< stdio.h >

int  swap( int  a[],  int  len)
{
    
int i;
    
int temp;

    
for(i = 0; i < len / 2; i++)
    
{
        temp 
= a[i];
        a[i] 
= a[len - i - 1];
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值