linux下gdb偵錯程式使用學習 03

2021-07-10 11:18:42 字數 815 閱讀 1244

attach process-id/detach[附加/分離程序]

kill

多執行緒程式除錯相關:

set follow-fork-mode mode:設定gdb行為,mode為parent時,與預設情況一樣;mode為child時,fork/vfork之後,gdb進入子程序除錯,與父程序不再相關

show follow-fork-mode:檢視當前gdb多程序跟蹤模式的設定

step & stepi

next & nexti

continue [ignore-count] 喚醒程式,繼續執行,至到遇到下乙個斷點,或者程式結束。如果指定ignore-count,那麼程式在接下來的執行中,忽略ignore-count次斷點。

finish & return

訊號的處理

handle signal action: 設定gdb對具體某個訊號的處理方式。signal可以為訊號整數值,也可以為sigsegv這樣的符號。action的取值有:

stop和nostop: nostop表示當gdb收到指定的訊號,不會應用停止程式的執行,只會列印出一條收到訊號的訊息,因此,nostop也暗含了下面的print; 而stop則表示,當gdb收到指定的訊號,停止應用程式的執行。

print和noprint: print表示如果收到指定的訊號,列印出一條資訊; noprint與print表示相反的意思

pass和nopass:pass表示如果收到指定的訊號,把該訊號通知給應用程式; nopass表示與pass相反的意思

ignore和noignore: ignore與nopass同義,同理,noignore與pass同義

linux下gdb偵錯程式使用學習 01

gdb單獨啟動,檢視gdb的相關選項 直接通過shell命令視窗執行如下命令 進入gdb除錯介面 純文字介面 2.gdb幫助說明 進入gdb後執行命令 help 即可看到gdb的相關命令,gdb是通過對命令列進行分類 class 來羅列 通過上面的圖示,可以看到gdb把所有的幫助命令分為如下幾類 a...

linux下gdb偵錯程式使用學習 02

雖然說這三類point的功能是不一樣的,但它們的用法卻極為相似。因此,本文將以斷breakpoint為例,進行詳細的介紹,關於watchpoint和catchpoint的介紹就相對比較粗略,如果能夠理解breakpoint的部分,那麼便可以觸類旁通,學會watchpoint和catchpoint的用...

GDB 偵錯程式使用手冊

若有一檔案為test.c,在儲存退出後首先使用gcc對test.c進行編譯,注意一定要加上選項 g 這樣編譯出的可執行 中才包含除錯資訊,否則之後gdb無法載入該可執行檔案。gcc g test.c o test 注意 gdb除錯的是可執行檔案,而不是 c 的源 所以必須先通過gcc編譯生成可執行檔...