(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...