Disassembling Functions

The alias lfi lets you disassemble all of the instructions in a single function. Instructions from other functions may be intermixed in the disassembly due to compiler optimizations. The following example shows how to disassemble a member function:

 

(idb)alias lfi

lfi(x)  set $lfitmp = x ; $lfitmp, $highpc($lfitmp) / i ; unset $lfitmp

(idb) lfi( Node::getNextNode )

class Node* Node::getNextNode(void): src/x_list.cxx

 [line 81, 0x0804b5aa]  getNextNode:                  pushl    %ebp

 [line 81, 0x0804b5ab]  getNextNode+0x1:              movl     %esp, %ebp

 [line 81, 0x0804b5ad]  getNextNode+0x3:              movl     0x8(%ebp), %eax

 [line 81, 0x0804b5b0]  getNextNode+0x6:              movl     0x4(%eax), %eax

 [line 81, 0x0804b5b3]  getNextNode+0x9:              leave

 [line 81, 0x0804b5b4]  getNextNode+0xa:              ret

 [line 81, 0x0804b5b5]  getNextNode+0xb:              nop

(idb)