gdb 调试(五)检查文件之搜索和查看汇编指令

1、 源码文件查找

gdb调试可以通过以下三个命令查找源文件。

forward-search regexp

从源文件首行还是搜索 关键字regexp,并将搜索到的行号记录。这个记录可以被下一个gdb命令引用。

例:for void

搜索结果:38 void

接下来运行命令:list 则显示以38行为中心的10行内容。(要显示的行数可以指定)

search regexp

从当前行向下搜索。

reverse-search regexp

从最后一行向上搜索。

2、 查看机器指令(汇编)

disassemble

disassemble /m 十六进制显示汇编指令

disassemble /r

disassemble start,end 指定起始,结束地址

disassemble start,+length 指定起始地址和显示长度

获取地址可如下面的列子:

(gdb) info line main

Line 895 of "builtin.c" starts at pc 0x634c and ends at 0x6350.

(gdb) info line *0x63ff

Line 926 of "builtin.c" starts at pc 0x63e4 and ends at 0x6404.

 (gdb) disas 0x634c, 0x6404
 
 Dump of assembler code from 0x32c4 to 0x32e4:
 0x32c4 <main+204>: addil 0,dp
 0x32c8 <main+208>: ldw 0x22c(sr0,r1),r26
 0x32cc <main+212>: ldil 0x3000,r31
 0x32d0 <main+216>: ble 0x3f8(sr4,r31)
 0x32d4 <main+220>: ldo 0(r31),rp
 0x32d8 <main+224>: addil -0x800,dp
 0x32dc <main+228>: ldo 0x588(r1),r26
 0x32e0 <main+232>: ldil 0x3000,r31
 End of assembler dump.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值