Amar
Amar

Reputation: 274

How to interpret gdb disassemble output?

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

Answers (1)

Employed Russian
Employed Russian

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

Related Questions