Reputation: 274
I am trying to match the gdb disassemble output (disas [address]) against the source code. I know that such mapping can be done using (gdb) info line *address to find the matching line. However I do not quite understand the format of the output of disassemble. Specifically, what do the following numbers, +4722, and +4281, mean ?
0x00002ad61e45bd02 <+4722>: jmpq 0x2ad61e45bb49 <MsgManager::ForwardMsg(boost::shared_ptr<Channel>, boost::shared_ptr<Msg>, boost::shared_ptr<Context>)+4281>
I am using GNU gdb (GDB) 7.4.1.
Upvotes: 3
Views: 3535
Reputation: 213935
Specifically, what do the following numbers, +4722, and +4281, mean
The instruction at address 0x00002ad61e45bd02
, which is 4722 bytes from the start of current function (most likely MsgManager::ForwardMsg()
) is a jump to address 0x2ad61e45bb49
, which is 4281 bytes from the start of MsgManager::ForwardMsg()
.
You may also find (gdb) disas/m
command handy.
Upvotes: 5