gdb 除錯工具學習
What is GDB?
gdb全名為gnu debugger,是一種動態Debug的工具。
使用
我們可以先寫一個簡易的Hello World,並宣告一些變數
| |
記得在編譯時加上參數 -g,否則gdb將提示找不到除錯符,加了只差在程式大小會變大。
| |
指令
| 指令 | 簡寫 | 簡述 |
|---|---|---|
| help | h | 查看指令說明 |
| list | l | 印出程式碼 |
| file | 開啟檔案 | |
| run | r | 執行程式 |
| kill | 停止程式 | |
| breakpoint | b, bre, break | 設定斷點 ex: b 15表示執行到第15行 |
| continue | c, cont | 繼續執行 |
| next | n | 步過(遇到呼叫函式會將該函式當成一條指令執行) |
| step | s | 步入(遇到呼叫函式會進入函式一步一步執行) |
| p | 印出變數的值 ex: p num | |
| display | 每次步過/入後印出變數值 ex: display num | |
| info | 查看特定資訊 ex: info break查看設了哪些斷點,不輸入參數可查詢指令 | |
| quit | q | 離開gdb,或按Ctrl+C |
| <Click> Enter | 執行上一條指令 |