gdb调试

要使用gdb去调式汇编程序,在使用as编译时要加上-gstabs选项,在使用gcc编译时加上-g选项,

gdb有个bug,就是在_start符号处设置了断点,使用run命令去运行程序时也不会在这个断点处停下来。

gdb命令

1程序运行

(1)run

运行程序,可以在后面加上命令行参数,可以使用命令show args打印出有哪些命令行参数

(2)continue

继续执行后面的程序

(3)next

单步执行,不进入函数内部

(4)step

单步执行,遇到函数时进入函数内部执行

2断点

break设置断点,后面可以跟行号或者函数名,我们可以使用info breakpoints打印出有哪些断点以及它的断点号

delete [bpnum1] [bpnum2]...删除断点,后面跟的是断点号

clear也可以删除断点,只是后面跟的是行号或者函数名

disabel [bpnum1] [bpnum2]... disable断点

enable [bpnum1] [bpnum2]... enable断点

3值查看

info registers显示所有寄存器值

print显示指定寄存器值或变量值

print /d以十进制显示数值

print /t以二进制显示数值

print /x以十六进制显示数值

默认是十进制显示数值

例如print $eax

x显示指定内存单元值

x命令格式

x/nyz

n表示显示多长

y取值为c,dx,分别表示字符,十进制和十六进制

z表示显示的大小,b,hw分别表示字节,半字和字

例如x/4cb&output

0x80490ac<output>: 84 'T' 104 'h' 101 'e' 32 ' '

4其他命令

quit退出gdb调试

help查看命令帮助


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值