可能原因有,1.庫鏈接的順序有關(guān),被依賴的庫應(yīng)該在依賴它的庫前面鏈接。makefile里有可能后寫的庫先鏈接,逆序鏈接的。 2.頭文件目錄有多余的頭文件,里面聲明的函數(shù)找不到...
可能原因有,1.庫鏈接的順序有關(guān),被依賴的庫應(yīng)該在依賴它的庫前面鏈接。makefile里有可能后寫的庫先鏈接,逆序鏈接的。 2.頭文件目錄有多余的頭文件,里面聲明的函數(shù)找不到...
一般B庫調(diào)用A庫的接口(包含a庫的頭文件),如果后面a庫中需要反過來調(diào)用b庫里的接口,由于頭文件不能反向包含,只能是在a庫里打開b庫的動(dòng)態(tài)庫,查找要調(diào)用接口的地址,賦值給函數(shù)...
nm *.so查看動(dòng)態(tài)庫的符號(hào),找到待調(diào)試函數(shù)的符號(hào),在gdb里執(zhí)行 b func_symbol, 即可加上斷點(diǎn),再執(zhí)行run和continue命令。
1.gdb exe coreFile加載core文件。2. bt命令查看函數(shù)調(diào)用堆棧。3.多線程程序則t a a b t查看全部線程的堆棧信息。4.結(jié)合core dump生成...
工具:ldd命令,類似于Windows的depency。 ldd *.so。檢查庫文件不存在,或者看加載的動(dòng)態(tài)庫路徑是否正確。 判斷進(jìn)程是否加載動(dòng)態(tài)庫,lsof -p pid...