gdb命令详解

个人笔记:

1. 要想使用gdb调试程序,必须在编译的时候加入调试信息,用-g命令,比如 gcc -g -o hello.exe hello.c

2. 使用gdb 可以执行文件名打开调试文件

3. 使用list查看源代码(list默认显示10行,在gdb下回车默认执行上一个操作,所以查看源码需要多按几个回车)

4. 使用run可以将程序运行,kill可以终止运行程序

5. 使用 break 行号,可以在那一行上面加断点

6. 使用watch 变量名可以监视变量 (自动显示的,每次你监视的变量的值有变动的时候,就会自动打印变动前后的值)

7. 使用c命令使程序继续运行至断点处

8. 使用next命令执行一行源码但是不进入函数内部

9. 使用step命令执行一行源码并进入函数内部

10.使用quit命令退出当前调试的程序

11.使用print可以打印变量,还可以打印数组,如print *a@b,打印数组a的前b个变量

12.回车操作可以执行上一个命令

13.info b查看断点信息

13.delete 编号删除断点信息

 

以下为反汇编时即不加调试信息时常用的命令

14.disass 函数名 查看函数的反汇编

15.set disassembly-flavor intel 将AT汇编转为Intel汇编

16.更改寄存器 $eax = 4

17.查看寄存器 p $eax

18.打印堆栈为 bt

19.查看内存为 x/20x 0xbffff430

20.打印堆栈里面字符串的内容 x/s 0xbffff5c9

21.set disassemble-next-line on 断点时查看行号

22.ni 在汇编中单步,不进入函数内部

23.si 在汇编中单步,要进入函数内部

24.p/x 变量 可以打印变量的十六进制形式

25.汇编断电是用b *地址 如b *0x0804875a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值