按:
瞭解基本的命令總比被IDE完全封裝之後更能讓開發人員更深入的瞭解調試器,所以轉貼一篇文章。
關於斷點的命令:
awatch 用來為一個運算式設定觀察點,在運算式的值發生改變時,或者是當運算式的值
被度曲的時候,程式都會停止運行。
格式:awatch 要設定觀察點的運算式
break 用來設定斷點。
格式:break 要設定斷點的行號
clear 清除斷點。
格式:clear 要清楚的斷點所在的行號
commands 在遇到斷點之後執行特定指令而設。
格式:commands 斷點號。
condition 在滿足一定條件時才在指定的行上設定斷點。
格式:condition 斷點編號 條件運算式
delete 清楚斷點或自動顯示的運算式。
格式:delete 斷點的編號或者運算式
disable 使斷點暫時失效。
格式:disable 斷點編號
enable 恢複暫時失效的斷點。
格式:enable 斷點編號
ignore 在一定範圍內,忽略使用者佈建的斷點。
格式:ignore N CONT
tbreak 設定臨時斷點。作用一次。
格式:tbreak 設定臨時斷點的行號
watch 為一個運算式設定觀察點。當運算式的值發生改變時,程式就會停止運行。
格式:watch 要設定觀察點的運算式
關於資料的命令:
display 用來顯示一些運算式的值
格式:display 要顯示值的運算式
info display 顯示當前所有的要顯示值得運算式的有關情況。
格式:info display
delete display 刪除一個要顯示值得運算式。
格式:delete display 刪除顯示的運算式的編號
disable display 暫時屏蔽那些不需要顯示的運算式。
格式:disalbe display 屏蔽顯示的運算式的編號
enable display 使顯示值被屏蔽的運算式恢複顯示。
格式:enable display 需要顯示的運算式的編號
undisplay 結束某個運算式值的顯示。
格式:undisplay 不需要再顯示值的運算式
whatis 顯示某個運算式的資料類型。
格式:whatis 需要查詢類型的運算式
print 列印運算式值,也可以用來列印記憶體中從某個變數開始的一段地區的內容。
格式:print 需列印的運算式
ptype 用來給出類型定義
格式:ptype 參數
set 用來為變數賦值的
格式:set 變數=運算式
關於檔案的命令:
add-shared-symbol-files 用來從動態串連映射的共用目標檔案中裝入符號表。
add-symbol-file 用來從已經動態裝入的檔案中裝入符號表。
格式:add-symbol-file FILE ADDR
cd 用來改變當前工作目錄的。
core-file 使某個檔案成為core dump,從而可以檢查記憶體和寄存器。
directory 用來向源檔案搜尋路徑中增加一個目錄。
格式:directory 要增加的目錄
file 命令是用來裝入待偵錯工具的命令。
格式:file 要裝入的檔案的名稱
list 用來進行檔案內容列表
list命令可使用的非空的參數有以下幾種方式:
LINENUM:當前檔案的LINENUM行;
FILE:LINENUM:指定檔案的LINENUM行;
FUNCTION:當前檔案的FUNCTION函數;
FILE:FUNCTION:指定檔案的FUNCTION函數;
*ADDRESS:列出包含該地址的檔案。
格式:list 要列表的開始行號
forward 用來從列表當前行開始向後尋找第一個匹配某個字串的程式行。
格式:forward 要匹配的字串
load 用來動態往正在調試的程式中裝入檔案,並記錄它的符號表,準備串連。
格式:load 準備裝入的檔案名稱
path 用來向目標檔案的搜尋路徑中增加目錄的。
格式:path 要增加到搜尋路徑中的目錄名稱
reverse-search 從列表當前行開始向前尋找第一個匹配某個字串的程式行。
search 和forward 命令的用法是完全一致的。
關於程式啟動並執行命令:
cont 使程式字訊號發生後或是停在斷點之後再繼續運行。
handle 用來對訊號設定處理函數的。
格式:handle 訊號 訊號處理
jump 用來指定程式開始調試的指令或地址的。
格式:jump 行號或是指令地址
kill 用來結束當前程式的調試。
格式:kill
next 用來繼續程式的啟動並執行,它越過子程式調用。
格式:next N 或是空
nexti 用來逐步執行一條指令的。
step 用來執行一條語句,它也不越過子程式的調用,而是跟蹤到子程式內部。
stepi 用來執行一條指令,它也不越過子程式的調用,而是跟蹤到子程式內部。
關於堆棧的命令:
backtrace 用來列印棧楨(stack frame)指標的,他的使用格式和功能和比命令完全相同
。
格式:backtrace 要列印出來的棧楨指標的個數
frame 用來列印棧楨的。
格式:frame 要列印的棧楨的編號
select-frame 用來指定要選擇的棧楨的編號。
本人學習/複習GDB時寫的命令總結。。。希望對各位有所協助。
Written by choatrue