linuxGDB下動態鏈結庫的除錯

2021-06-19 04:06:01 字數 337 閱讀 1441

(gdb) file 《你的exe>

(gdb) load 《你的so>                #這條應該是可選的

(gdb) dir

(gdb) sharedlibrary 《你的so>

(gdb) breakpoint 《你的so中somewhere>

(gdb) run

load 是將動態庫加載入記憶體。

sharedlibrary是將動態庫的符號讀入gdb,為了你能找到變數和函式名。

它們本身是沒有明顯的動作,但後面當你直接設定斷點到動態庫的函式(或行號)時,你就可以成功了。在此之前要記得用dir將動態庫的原始碼也加入搜尋路徑。

Linux下動態鏈結庫和靜態鏈結庫

第一部分 編譯過程 預處理過程,負責標頭檔案展開,巨集替換,條件編譯的選擇,刪除注釋等工作。gcc e表示進行預處理。編譯過程,負載將預處理生成的檔案,經過詞法分析,語法分析,語義分析及優化後生成彙編檔案。gcc s表示進行編譯。彙編,是將彙編 轉換為機器可執行指令的過程。通過使用gcc c或者as...

Windows下動態鏈結庫與靜態鏈結庫的構建

bool winapi dllmain handle hdllhandle,dword dwreason,當乙個程式試圖載入解除安裝dll時,系統會呼叫dll庫中的dllmain函式 然後編寫實際功能函式 libiary win32 dll 模組名稱 exports 下面的函式才能在dll外使用 f...

動態鏈結庫 靜態鏈結庫

包含標頭檔案和庫 idir 指定編譯查詢標頭檔案的目錄,常用於查詢第三方的庫的標頭檔案,例 gcc test.c i.inc o test。ldir 指定鏈結時查詢lib的目錄,常用於查詢第三方庫。llibrary 指定額外鏈結的lib庫 巨集定義 dmacro 以字串 1 預設值 定義 macro...