如何解释gdb反汇编输出?

时间:2013-04-25 17:58:21

标签: gdb

我正在尝试将gdb反汇编输出( disas [address] )与源代码进行匹配。我知道可以使用(gdb)info line * address 来完成这种映射,以找到匹配的行。但是我不太了解反汇编输出的格式。具体来说,以下数字+4722和+4281是什么意思?

0x00002ad61e45bd02 <+4722>:  jmpq   0x2ad61e45bb49     <MsgManager::ForwardMsg(boost::shared_ptr<Channel>, boost::shared_ptr<Msg>, boost::shared_ptr<Context>)+4281>

我正在使用GNU gdb(GDB)7.4.1。

1 个答案:

答案 0 :(得分:3)

  

具体来说,以下数字+4722和+4281是什么意思

地址0x00002ad61e45bd02的指令,距离当前函数的开头4722个字节(很可能是MsgManager::ForwardMsg())是跳转到地址0x2ad61e45bb49,从一开始就是4281字节MsgManager::ForwardMsg()

您也可以找到(gdb) disas/m命令。