Posted on 2008-06-14 16:02
T.S Liu 閱讀(462)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
ubuntu
* list:顯示程序中的代碼,常用使用格式有:
list
輸出從上次調(diào)用list命令開始往后的10行程序代碼。
list -
輸出從上次調(diào)用list命令開始往前的10行程序代碼。
list n
輸出第n行附近的10行程序代碼。
list function
輸出函數(shù)function前后的10行程序代碼。
* forward/search:從當(dāng)前行向后查找匹配某個(gè)字符串的程序行。使用格式:
forward/search 字符串
查找到的行號(hào)將保存在$_變量中,可以用print $_命令來查看。
* reverse-search:和forward/search相反,向前查找字符串。使用格式同上。
* break:在程序中設(shè)置斷點(diǎn),當(dāng)程序運(yùn)行到指定行上時(shí),會(huì)暫停執(zhí)行。使用格式:
break 要設(shè)置斷點(diǎn)的行號(hào)
* tbreak:設(shè)置臨時(shí)斷點(diǎn),在設(shè)置之后只起作用一次。使用格式:
tbreak 要設(shè)置臨時(shí)斷點(diǎn)的行號(hào)
* clear:和break相反,clear用于清除斷點(diǎn)。使用格式:
clear 要清除的斷點(diǎn)所在的行號(hào)
* run:?jiǎn)?dòng)程序,在run后面帶上參數(shù)可以傳遞給正在調(diào)試的程序。
* awatch:用來增加一個(gè)觀察點(diǎn)(add watch),使用格式:
awatch 變量或表達(dá)式
當(dāng)表達(dá)式的值發(fā)生改變或表達(dá)式的值被讀取時(shí),程序就會(huì)停止運(yùn)行。
* watch:與awatch類似用來設(shè)置觀察點(diǎn),但程序只有當(dāng)表達(dá)式的值發(fā)生改變時(shí)才會(huì)停止運(yùn)行。使用格 式:
watch 變量或表達(dá)式
需要注意的是,awatch和watch都必須在程序運(yùn)行的過程中設(shè)置觀察點(diǎn),即可運(yùn)行run之后才能設(shè)置。
* commands:設(shè)置在遇到斷點(diǎn)后執(zhí)行特定的指令。使用格式有:
commands
設(shè)置遇到最后一個(gè)遇到的斷點(diǎn)時(shí)要執(zhí)行的命令
commands n
設(shè)置遇到斷點(diǎn)號(hào)n時(shí)要執(zhí)行的命令
注意,commands后面跟的是斷點(diǎn)號(hào),而不是斷點(diǎn)所在的行號(hào)。
在輸入命令后,就可以輸入遇到斷點(diǎn)后要執(zhí)行的命令,每行一條命令,在輸入最后一條命令后輸入end就可以結(jié)束輸入。
* delete:清除斷點(diǎn)或自動(dòng)顯示的表達(dá)式。使用格式:
delete 斷點(diǎn)號(hào)
* disable:讓指定斷點(diǎn)失效。使用格式:
disable 斷點(diǎn)號(hào)列表
斷點(diǎn)號(hào)之間用空格間隔開。
* enable:和disable相反,恢復(fù)失效的斷點(diǎn)。使用格式:
enable 斷點(diǎn)編號(hào)列表
* ignore:忽略斷點(diǎn)。使用格式:
ignore 斷點(diǎn)號(hào) 忽略次數(shù)
* condition:設(shè)置斷點(diǎn)在一定條件下才能生效。使用格式:
condition 斷點(diǎn)號(hào) 條件表達(dá)式
* cont/continue:使程序在暫停在斷點(diǎn)之后繼續(xù)運(yùn)行。使用格式:
cont
跳過當(dāng)前斷點(diǎn)繼續(xù)運(yùn)行。
cont n
跳過n次斷點(diǎn),繼續(xù)運(yùn)行。
當(dāng)n為1時(shí),cont 1即為cont。
* jump:讓程序跳到指定行開始調(diào)試。使用格式:
jump 行號(hào)
* next:繼續(xù)執(zhí)行語句,但是跳過子程序的調(diào)用。使用格式:
next
執(zhí)行一條語句
next n
執(zhí)行n條語句
* nexti:?jiǎn)尾綀?zhí)行語句,但和next不同的是,它會(huì)跟蹤到子程序的內(nèi)部,但不打印出子程序內(nèi)部的語句。使用格式同上。
* step:與next類似,但是它會(huì)跟蹤到子程序的內(nèi)部,而且會(huì)顯示子程序內(nèi)部的執(zhí)行情況。使用格式同上。
* stepi:與step類似,但是比step更詳細(xì),是nexti和step的結(jié)合。使用格式同上。
* whatis:顯示某個(gè)變量或表達(dá)式的數(shù)據(jù)類型。使用格式:
whatis 變量或表達(dá)式
* ptype:和whatis類似,用于顯示數(shù)據(jù)類型,但是它還可以顯示typedef定義的類型等。使用格式:
ptype 變量或表達(dá)式
* set:設(shè)置程序中變量的值。使用格式:
set 變量=表達(dá)式
set 變量:=表達(dá)式
* display:增加要顯示值的表達(dá)式。使用格式:
display 表達(dá)式
* info display:顯示當(dāng)前所有的要顯示值的表達(dá)式。
* delete display/undisplay:刪除要顯示值的表達(dá)式。使用格式:
delete display/undisplay 表達(dá)式編號(hào)
* disable display:暫時(shí)不顯示一個(gè)要表達(dá)式的值。使用格式:
disable display 表達(dá)式編號(hào)
* enable display:與disable display相反,使用表達(dá)式恢復(fù)顯示。使用格式:
enable display 表達(dá)式編號(hào)
* print:打印變量或表達(dá)式的值。使用格式:
print 變量或表達(dá)式
表達(dá)式中有兩個(gè)符號(hào)有特殊含義:$和$$。
$表示給定序號(hào)的前一個(gè)序號(hào),$$表示給定序號(hào)的前兩個(gè)序號(hào)。
如果$和$$后面不帶數(shù)字,則給定序號(hào)為當(dāng)前序號(hào)。
* backtrace:打印指定個(gè)數(shù)的棧幀(stack frame)。使用格式:
backtrace 棧幀個(gè)數(shù)
* frame:打印棧幀。使用格式:
frame 棧幀號(hào)
* info frame:顯示當(dāng)前棧幀的詳細(xì)信息。
* select-frame:選擇棧幀,選擇后可以用info frame來顯示棧幀信息。使用格式:
select-frame 棧幀號(hào)
* kill:結(jié)束當(dāng)前程序的調(diào)試。
* quit:退出gdb。