- break/b : 設定break point,break main, break 10, break test.C:10
- run/r : 執行
- backtrace/bt : 列印出stack frame, bt 10, bt full 10
- print/p : 列印出變數數值
- info register : 列印出regiseter內容
- next/n : step by step
- step/s : step into
- continue/c : 繼續執行
- watch expression : 監視變數
- delete # : 刪除break point或者 watch point
- set variable var=expression : 設定變數內容
- generate-core-file
- info proc : 印出在/proc內容
- break #breakpoint if condition : 設定中斷點條件
- condition #breakpoint condtion : 為中斷點設定條件
- condition #breakpoint : 取消中斷點的條件
- clear : 清除所有中斷點
- disable : 暫停使用所有中斷點
- enable : 啟用中斷點
- info b : 列出所有中斷點
- set history/show history : 顯示出使用過的指令
- set history save/show history save : 儲存使用過的指令
- source file_name : 載入設定檔案
commands #breakpoint
...
...
end
在中斷點中斷時執行的指令
define #command
...
...
end
document
...
...
end
可以用來設定指令,比方說
define li
x/10i $pc
end
document li
list machine instruction
end
help li則是印出指令說明
使用core file當作gdb的輸出的時候,必須加上-s exec_file或者在進入gdb後file exec_file,才可以載入symbol table
attach pid將某個process加入gdb模式,使用detach離開
參考資料:
http://www.study-area.org/cyril/opentools/opentools/debug.html
沒有留言:
張貼留言