[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > 其它 > 正文
Linux程式設計-27.GNU Debugger
http://www.openchess.org/noitatsko/programming/ (2001-05-27 18:08:01)
gdb/xxgdb 


--------------------------------------------------------------------------------

啟動方式 
你可以單獨啟動gdb,不過一般來說,啟動方式都會帶一兩個參數。 

「gdb program」:指定要除錯的程式。 
「gdb program core」:指定要除錯的程式及其coredump檔。 
「gdb program pid」:指定要除錯的程式及目前其正在執行的process id。 

--------------------------------------------------------------------------------

命令說明 
attach pid 
at pid 
接上一個已經在執行的行程pid。這會使pid暫停,中斷任何sleep及可中斷的可系統呼叫。 

backtrace, bt, where, w 
顯示追蹤堆疊。 

break [filename:]function | line | address 
b [filename:]function | line | address 
設定中斷點。您可以指定函數名稱、行數、甚至記憶體位址。 


中斷點後,繼續執行程式。 

clear [filename:]function | line | address 
清除中斷點。 

condition breakid expression 
根據中斷點號碼來設定中斷狀況。 

delete breakid 
清除中斷點breakid。 

detach pid 
解除目前接上的行程。 

display expression 
每次中斷時,顯示expression的值。 

help [name] 
輔助說明 

jump address 
跳到指定的位址,並開始執行。 

list (address) 
l (address) 
列出位置附近的10行。 

next, n 
執行到下一行。 

nexti 
執行下一個處理器指令。 

print expression 
p expression 
列出詳細的expression值。 

run, r 
從頭開始執行目前程式。 

set expression 
設定參數值。 

step, s 
執行一個程式指令。 

stepi 
執行一個處理器指令,遇到函數時,追蹤進去。 

undisplay 
取消display。沒有參數的話,取消全部。 

whatis 
顯示expression的資料型態。 

quit 
離開。 


與print類似,不過僅顯示位址內容的簡約格式。 

(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
Linux程式設計-31.工作群資訊管理(grp) (2001-05-27 22:08:00)
Linux程式設計-30.使用者資訊管理(pwd) (2001-05-27 21:04:00)
Linux程式設計-29.時間處理 (2001-05-27 20:10:01)
Linux程式設計-28.GNU Make (2001-05-27 19:00:00)
Linux程式設計-27.GNU Debugger (2001-05-27 18:08:01)
Linux程式設計-26.PIPE (2001-05-27 17:04:00)
Linux程式設計-25.Message Queues (2001-05-27 16:10:00)
Linux程式設計-24.Semaphores (2001-05-27 15:00:00)
Linux程式設計-23.共享記憶體(Shared Memory) (2001-05-27 14:08:00)
Linux程式設計-20.getopt (2001-05-27 13:04:00)

===更多相關===
 

★  樊強制作 歡迎分享  ★