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

2021-07-10 10:14:35 字數 1891 閱讀 1377

gdb單獨啟動,檢視gdb的相關選項

直接通過shell命令視窗執行如下命令

進入gdb除錯介面【純文字介面】

2. gdb幫助說明

進入gdb後執行命令【help】即可看到gdb的相關命令,gdb是通過對命令列進行分類(class)來羅列

通過上面的圖示,可以看到gdb把所有的幫助命令分為如下幾類

-aliases:命令別名 ,檢視幫助【help aliaes】

對gdb部分命令定義的乙個簡單的別名設定,與linux的命令【aliases】一樣

常用命令【where】:顯示當前執行執行緒的函式呼叫堆疊中當前棧。

gdb在初始啟動的時候可以引導程式,通過如下命令:gdb pe 【core】/【-c core】載入pe檔案,同時載入core檔案,通過core檔案來分析pe執**況載入core檔案

gdb啟動成功後 引導程式:命令file pe

gdb啟動,除錯當前正在執行程式具體操作流程

gdb作用乙個除錯工具同時也作為乙個解析器(所有執行的除錯命令都是在該解析器中執行),在啟動的過程中有很多可選引數可以進行選擇,這樣就決定了其功能的強大性。

1. gdb在啟動過程中的具體設定如下:【gdb -h | more】

通過以上顯示可以看出,gdb的啟動引數實質是可以分為三部分。

2. gdb啟動引數具體說明

(1)–args 設定除錯程式的相關引數

(2)主要引數列舉說明:

一、-symbol或者是-s filename

載入符號檔案

二、-exec或者是-e filename

載入可執行檔案,但是沒有載入符號表,這個時候將無法進行除錯

三、-se載入可執行檔案

既載入符號表也載入相關的其他資訊

四、-core或者是-c

-c file載入該core檔案作為相關的core dump檔案

-c number

-pid number

-p number 連線number號的程序,如果沒有該程序則載入相關的core檔案

五、-command

-command file

-x file

從相關的file檔案中執行相關的gdb命令

六、-directory 目錄

-d 目錄

增加這個目錄到gdb中作為檢視原始檔的目錄

這個命令在gdb內部也是可以設定的,對於除錯多個檔案中的函式呼叫等需要進行相關的設定

特別是在除錯dll的時候

七、-quiet

-silent或者是-q

在啟動gdb的時候不顯示相關的version資訊

八、-cd directory

設定gdb的工作目錄為引數中的工作目錄

九、–argc

設定gdb除錯的pe的執行檔案的引數

也可以在啟動gdb後,利用r命令來載入引數

十、-statistics

記錄gdb執行這次pe的時間和占用記憶體空間的大小

十一、shell command

在gdb中執行shell命令

十二、quit或者q

退出gdb

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

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

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

attach process id detach 附加 分離程序 kill 多執行緒程式除錯相關 set follow fork mode mode 設定gdb行為,mode為parent時,與預設情況一樣 mode為child時,fork vfork之後,gdb進入子程序除錯,與父程序不再相關 s...

GDB 偵錯程式使用手冊

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