GDB常用命令总结

在低端微控制器上进行仿真时,直接使用JTAG和IDE集成开发环境进行在线调试,不仅操作简单,而且界面良好,运行情况和结果非常直观。但是在Linux平台,很少有类似的集成开发环境,Linux上的GDB使用命令操作的方式,而且它要比集成开发环境强大多。下面是整理的常用的GDB调试命令。

编译时必须添加-g才能利用GDB进行调试,如:gcc -g test.c -o test

1. gdb -tui test打开调试程序,界面分页,上面是代码,下面是命令;

2. gdbtui的开关快捷键:ctrl+x ctrl+a或者ctrl+x A

3. file test在运行gdb下打开某个文件

4. run/r 运行

5. continue/c 继续运行

6. step/s 如果有函数则进入函数执行

7. finish 跳出当前的函数

8. stop 停止运行

9. until xxx 可用于跳出循环

10.guit/ctrl+d 退出GDB

11.print/p var 打印变量的值

12.print/p &var 打印变量地址

13.printf/p *addr 打印地址的值

14.printf/p /x var 用16进制显示数据

x十六进制/d十进制/u十六进制无符号/t二进制/c字符/f浮点

15.break/b xxx 在某行打断点

16.break/b fun 在某个函数处加断点

17.break/b 30 if n==100 //当变量n等于100的时候在30行处加断点

18.break fileName:N 在某个文件的N行加断点

19.info break/b 查看断点

20.clear N 删除N行断点

21.delete N 删除N号断点

22.delete 删除所有断点

23.disable xxx 失能断点

24.enable xxx 使能断点

25.info b 查看断点

26.info source 查看当前程序

27.info stack 查看堆栈信息

28.info args 查看当前参数值

29.display args 查看当前参数值

30.bt 查看函数堆栈

31.pwd查看程序路径

32.ctrl+p 前一条命令

33.ctrl+n 下一条命令

34.watch xxx 设置监控点,在变量改变的时候停下来。(不可直接设置,先加断点在监测)

35.ctrl+l可能layout会造成控制台花屏,使用ctrl+L清屏

36.list linenum:以linenum指定的行号为中心,显示10行

37.list function:以指定的函数为中心,显示10行

38.list:重复上一次的list指令,也可以直接按回车键,重复上次指令。

39.set listsize count:设置每次显示的行数。

40.show listsize:显示已设置的显示行数。

41.list first,last:显示指定起始行到结束结束行的源文件。

42.list ,last:显示以指定的last为结束行,显示10行。

43.list first,:以first为第一行,显示10行。

44.list +:以上次显示的结束行为起始行显示后10行

45.list –:以上次显示的起始行为结束行,显示前10行

GDB调试程序用法 http://www.linuxidc.com/Linux/2013-06/86044.htm

GDB+GDBserver无源码调试Android 动态链接库的技巧 http://www.linuxidc.com/Linux/2013-06/85936.htm

使用hello-gl2建立ndk-GDB环境(有源码和无源码调试环境) http://www.linuxidc.com/Linux/2013-06/85935.htm

Ubuntu上用GDB调试printf源码 http://www.linuxidc.com/Linux/2013-03/80346.htm

Linux下用GDB调试可加载模块 http://www.linuxidc.com/Linux/2013-01/77969.htm

Ubuntu下使用GDB断点Go程序 http://www.linuxidc.com/Linux/2012-06/62941.htm

使用GDB命令行调试器调试C/C++程序 http://www.linuxidc.com/Linux/2014-11/109845.htm

GDB 的详细介绍请点这里
GDB 的下载地址请点这里