当前位置:Gxlcms > 数据库问题 > linux之GDB常用命令汇总

linux之GDB常用命令汇总

时间:2021-07-01 10:21:17 帮助过:3人阅读

b main; b 20; 设置断点 breakpoint if break 函数名、编号 if xxxx 在xxx的情况下设置的断点才生效 (xxx 例如:变量= 3) cd cd /home/yongchao/ 改变当前工作目录 clear 光标在正要执行的break点的行,然后打clear 删除停止处的断点 info b info b 查看所有的断点 continue continue 从断点开始继续执行 enable enable breakpoint 编号 使得某个断点生效 disable disable breakpoint 编号 使得某个断点失效 delete delete 断点号 删除某个断点 delete delete 删除所有断点 display display 变量、表达式 程序停止时显示变量或者表达式的值(一直显示,直到取消显示) info display info display 显示display的变量编号 undisplay undisplay 编号 取消某个编号一直显示 step s 跳入函数 until until 直接执行到函数最后 或者跳出一个循环 finish finish 如果已经进入了某个函数,想要退出该函数返回到它的调用函数中 shell shell  linux命令 使你能不离开 gdb 就执行 UNIX shell 命令. print  print 变量  打印变量 print print 变量 = 2 给变量赋值2 print  print find_entry(1,0) 对程序中函数的调用 print print array[0]@5 (不能是array@5) 查看数组的5个元素 call call find_entry(1,10) 调用和执行函数 pwd pwd 显示当前工作目录 ptype ptyoe 变量 显示类、结构体的结构 whatis whatis  变量/函数类型 显示变量/函数类型的 声明 watch watch 变量 观察变量的值,当有变化的时候停止

在使用watch时步骤如下

1. 使用break在要观察的变量所在处设置断电;

2. 使用run执行,直到断点;

3. 使用watch设置观察点;

4. 使用continue观察设置的观察点是否有变化。

watch counter>15  当counter>15的时候程序终止 delete watch编号 delete watch编号 删除watch点 make make 不退出gdb就可以重新产生可执行文件 x x /3   内存地址 需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义 x /f    内存地址 f 表示显示的格式 :

x 按十六进制格式显示变量。

d 按十进制格式显示变量。

 u 按十进制格式显示无符号整型。

 o 按八进制格式显示变量。

 t 按二进制格式显示变量。

 a 按十六进制格式显示变量。

 i 指令地址格式

 c 按字符格式显示变量。

 f 按浮点数格式显示变量。

x /u   内存地址

u表示一个地址单元的长度

    b表示单字节,

    h表示双字节,

    w表示四字节,

    g表示八字节

x /3dw   内存地址 打印3个四字节,安装10进制格式打印 where where 使用 where 命令查看程序出错的地方

gdb a.out core

where

查看导致崩溃的原因

                                                                                               

linux之GDB常用命令汇总

标签:

人气教程排行