我试图将 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>
Run Code Online (Sandbox Code Playgroud)
我正在使用 GNU gdb (GDB) 7.4.1。
具体来说,以下数字+4722和+4281是什么意思
0x00002ad61e45bd02地址(距离当前函数开头 4722 字节(很可能))处的指令MsgManager::ForwardMsg()是跳转到地址0x2ad61e45bb49(距离 开头 4281 字节)MsgManager::ForwardMsg()。
您可能还会发现(gdb) disas/m命令很方便。