3

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 を使用しています。

4

1 に答える 1

4

具体的には、次の数字 +4722 と +4281 は何を意味しますか?

0x00002ad61e45bd02現在の関数の開始から 4722 バイトのアドレス (おそらく)の命令は、 の開始から 4281 バイトのMsgManager::ForwardMsg()アドレス へのジャンプです。0x2ad61e45bb49MsgManager::ForwardMsg()

(gdb) disas/mコマンドも便利です。

于 2013-04-26T02:09:39.260 に答える