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常用命令汇总
标签: