run(簡寫r): 運行程序,當遇到斷點後,程序會在斷點處中止運行,等待用戶輸入下一步的命令。
continue(簡寫c):繼續執行,到下一個斷點處(或運行結束)
next(簡寫n): 單步跟蹤程序,當遇到函數調用時,直接調用,不進入此函數體;
step(簡寫s):單步調試若是有函數調用,則進入函數;與命令n不一樣,n是不進入調用的函數的
until:運行程序直到退出循環體; / until+行號: 運行至某行
finish: 運行程序,直到當前函數完成返回,並打印函數返回時的堆棧地址和返回值及參數值等信息。
call 函數(參數):調用「函數」,並傳遞「參數」,如:call gdb_test(55)
quit:簡記爲 q ,退出gdb函數
break n(簡寫b n):在第n行處設置斷點 ;能夠帶上代碼路徑和代碼名稱: b OAGUPDATE.cpp:578)
break func:在函數func()的入口處設置斷點,如:break cb_button
delete 斷點號n:刪除第n個斷點
disable 斷點號n:暫停第n個斷點
enable 斷點號n:開啓第n個斷點
clear 行號n:清除第n行的斷點
info breakpoints(簡寫info b) :顯示當前程序的斷點設置狀況測試
list(簡寫l):列出程序的源代碼,默認每次顯示10行。
list 行號:將顯示當前文件以「行號」爲中心的先後10行代碼,如:list 12
list 函數名:將顯示「函數名」所在函數的源代碼,如:list main
list :不帶參數,將接着上一次 list 命令的,輸出下邊的內容。ui
print 表達式:簡記爲 p ,其中「表達式」能夠是任何當前正在被測試程序的有效表達式,好比當前正在調試C語言的程序,那麼「表達式」能夠是任何C語言的有效表達式,包括數字,變量甚至是函數調用。
print a:將顯示整數 a 的值
print ++a:將把 a 中的值加1,並顯示出來
print name:將顯示字符串 name 的值
print gdb_test(22):將以整數22做爲參數調用 gdb_test() 函數
print gdb_test(a):將以變量 a 做爲參數調用 gdb_test() 函數調試
display 表達式:在單步運行時將很是有用,使用display命令設置一個表達式後,它將在每次單步進行指令後,緊接着輸出被設置的表達式及值。如: display a
watch 表達式:設置一個監視點,一旦被監視的「表達式」的值改變,gdb將強行終止正在被調試的程序。如: watch ablog
where/bt :當前運行的堆棧列表
set args 參數:指定運行時的參數
show args:查看設置好的參數
info program: 來查看程序的是否在運行,進程號,被暫停的緣由進程
layout:用於分割窗口,能夠一邊查看代碼,一邊測試:
layout src:顯示源代碼窗口
layout asm:顯示反彙編窗口
layout regs:顯示源代碼/反彙編和CPU寄存器窗口
layout split:顯示源代碼和反彙編窗口
Ctrl + L:刷新窗口字符串
Posted by: 大CC | 11JUL,2014
博客:blog.me115.com [訂閱]
微博:新浪微博get