對於乙個程式,有debug版本和release版本,release版本也成為上線版本,而要具備除錯功能,則必須在debug版本下。
1、linux gcc/g++出來的二進位制程式,預設是release模式
2、要使用gdb除錯,必須在源**生成二進位制程式的時候, 加上 -g 選項
3、進入:gdb binfile 退出:ctrl + d 或 quit(進入的必須是生成的debug程式)
斷點的設定與消除
break(b) 行號:在某一行設定斷點
break 函式名:在某個函式開頭設定斷點
info break :檢視斷點資訊。
delete breakpoints:刪除所有斷點
delete breakpoints n:刪除序號為n的斷點
disable breakpoints:禁用斷點
enable breakpoints:啟用斷點info(或i)
info(或i) breakpoints:參看當前設定了哪些斷點
執行程式
r或run:執行程式。
n 或 next:單條執行。
對變數的監視
print§:列印表示式的值,通過表示式可以修改變數的值或者呼叫函式p 變數:列印變數值。
set var:修改變數的值
display 變數名:跟蹤檢視乙個變數,每次停下來都顯示它的值
undisplay:取消對先前設定的那些變數的跟蹤
對源**的檢視
list/l 行號:顯示binfile源**,接著上次的位置往下列,每次列10行。
list/l 函式名:列出某個函式的源**。
Linux GDB除錯程式常用命令
1.gdb tui test開啟除錯程式,介面分頁,上面是 下面是命令 2.gdbtui的開關快捷鍵 ctrl x ctrl a或者ctrl x a 3.file test在執行gdb下開啟某個檔案 4.run r 執行 5.continue c 繼續執行 直到遇見斷點 6.step s 如果有函式...
使用GDB除錯程式
gdb是gnu發布的一款功能強大的程式除錯工具。gdb主要完成下面三個方面的功能 1.啟動被除錯程式 2.讓被除錯的程式在指定的位置停住 3.當程式被停住時,可以檢查程式狀態 如變數值 假如要對程式test.c進行除錯,除錯流程為 1.編譯生成可執行檔案 gcc g test.c o test 2....
使用GDB除錯程式
上回話說 使用makefile來組織源 這回簡單地介紹下如何使用gdb來除錯我們的程式 關於gdb的其它應用將在後續的章節中逐漸深入。首先需要肯定一點,gdb是個功能異常強大的除錯工具,其本身只能執行於字元模式,但是當前眾多基於gui的偵錯程式 ide,無論是自由軟體還是商業軟體,絕大多數都使用gd...