现在的位置: 首页 > 综合 > 正文

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

2013年09月04日 ⁄ 综合 ⁄ 共 958字 ⁄ 字号 评论关闭

 

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.

抱歉!评论已关闭.