啟動時進行除錯:gdb 程序名
gdb後台服務除錯技巧:
有的程式執行後台進行除錯需要sudo許可權
sudo gdb
輸入密碼後
shell comand: 可在gdb下使用 shell命令,例如 shell ps -ef | grep 程序名 (可檢視到程序id)
attach pid:(使用attach 附加到程序中進行除錯 類似vs的除錯->附加到程序)
b 設定斷點(支援行號,檔名:行號,函式名,檔名:函式名 等)
display 變數: 檢視變數的值 類似p
watch 變數: 執行中看到變數的變化
info b: 檢視設定斷點
s: 單步執行
n:執行一條語句
layout src: 除錯時能看到源**執行語句視窗
delete 編號: 刪除斷點
bt: 檢視當前的堆疊資訊
frame 編號:切換
多執行緒除錯設定:
檢視執行緒:info threads
thread id 切換當前除錯的執行緒為指定id的執行緒
多執行緒除錯切換:set scheduler-locking off|on|step
檢視幫助:help set /thread
遠端附加除錯:gdbserver :port (埠號) --attach pid(程序pid)
clion中 選擇遠端除錯 然後 輸入tcp:ip:port 即可使用clion除錯linux程式
gdb --tui不支援需要重新加入編譯選項編譯 沒安裝ncurses報錯(sudo apt-get install libncurses5-dev)
./configure --enable-tui=yes
make
sudo make install
gdb除錯常用命令
呼叫gdb編譯需要在cc後面加 g引數再加 o root redhat home gdb 除錯檔案 啟動gdb gdb l 字母l 從第一行開始列出原始碼 gdb break n 在第n行處設定斷點 gdb break func 在函式func 的入口處設定斷點 gdb info break 檢視斷...
gdb除錯常用命令
gdb list 1 從第一行開始列出原始碼 一次列出10行,如果要從11行繼續列出直接輸入list或l 命令簡寫 gdb l 搜尋 func name所在位置。gdb start 開始執行程式 gdb next 簡寫n 單條執行指令 直接回車重複執行上一條命令 n gdb step 簡寫s 執行下...
gdb除錯常用命令
在編譯時要加上 g選項,生成的可執行檔案才能用gdb進行原始碼級除錯。使用gdb執行生成的檔案。help 可以檢視命令類別 list 命令從第一行開始列出源 一次只會顯示10行,回車可繼續列出下面的 quit 退出 start 開始執行 n next 控制語句一條一條執行 s step 單步執行 b...