大部份的錯誤都是常數忘記加上 "$",或是 instruction 的單位用錯。
即使如此,code 還是常常不如預期,幸好我們可以很簡單的用 GDB 來 debug。
相關步驟如下:
| "as -gstabs | add debug information to object | 
| "objdump -D a.out | less" or "nm a.out" | 利用此步驟找到相關變數或 label 的 address | 
| "gdb a.out" | 執行 GDB | 
| "b label name" | 對要監控的 label 下斷點 | 
| "display /i $pc" | 顯示當前執行的組語 | 
| "run" | 執行程式 | 
| 斷點觸發 | |
| "info all-registers" | 觀看目前所有暫存器值 | 
| "p $eax" | 觀看 eax | 
| "p abc" | 觀看 variable abc | 
| "x/x address" | 觀看 address hex value | 
| "step" | 單步執行 | 
當然也可以使用包裝 GDB 的 GUI tool。
 
