之前都沒有調試過,直接在動态庫函數中斷點,都未能跟蹤進入。找了一下問題,保證以下三個條件即可:
1、所有檔案編譯時帶-g
在生成so檔案時帶-g不行,記得在變量CFLAGS中加-g
2、在拷貝so檔案時改變屬性時要注意
因為之前make install時預設調用的是 install -s ,把符号表去掉了。為了儲存這點,可以在要連結的so檔案上執行一下:nm xxx.so,看一下有沒有對應要調試的函數名。
3、設定環境變量LD_LIBRARY_PATH
set LD_LIBRARY_PATH=/xxx要調試so所在路徑/
隻要保證了這三點,就可以進入到動态庫函數中了。