glibc detected

開發程序時候遇到以下問題:
* glibc detected malloc(): memory corruption: 0x087cc298 **
最終發現依賴的一個動態庫已經編譯了protobuf的靜態庫(編譯時添加fPIC),又重新依賴protobuf的動態庫時,出現該問題。刪除對protobuf的動態庫的依賴,解決該問題(或者,依賴編譯時增加fPIC選項的動態庫)。

問題出現的過程如下:
在進程後臺化的模式下,啓動時產生兩個core文件,也就是說,在進程啓動後就出現該問題。用gdb調試,結果如下:(我讀不出來問題的原因,添加-g選項後,也沒有更多信息)
這裏寫圖片描述
解除進程後臺化,只保留主函數,運行後結果如下:
這裏寫圖片描述
從文件中描述應該是libprotobuf.so和libSubClient.so兩個文件有問題。所以思考,可能是依賴衝突問題。
此處,應該如何直接分析?暫時不知道。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章