| 
 |  | 
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
   ...