|
|
Disassembly is very useful in finding where a given event occurred. By disassembling code one can see which instructions have been executed and which are to come, and hopefully why something happened.
Use the dis or u (unassemble) command to disassemble code:
dis address /* Unassemble from address */ dis mode [[-]names...] /* Display, set or unset modes */Input of a quit character ends mode, other input continues disassembly.
An example of unassembly, using default modes:
debug0:1> u main
main pushl %ebp
main+1 movl %ebp,%esp
main+3 subl %esp,20
main+6 pushl %ebx
main+7 pushl %edi
main+8 pushl %esi
main+9 movl %eax,&u.u_tss
...