glibc detected

开发程序时候遇到以下问题:
* glibc detected malloc(): memory corruption: 0x087cc298 **
最终发现依赖的一个动态库已经编译了protobuf的静态库(编译时添加fPIC),又重新依赖protobuf的动态库时,出现该问题。删除对protobuf的动态库的依赖,解决该问题(或者,依赖编译时增加fPIC选项的动态库)。

问题出现的过程如下:
在进程后台化的模式下,启动时产生两个core文件,也就是说,在进程启动后就出现该问题。用gdb调试,结果如下:(我读不出来问题的原因,添加-g选项后,也没有更多信息)
这里写图片描述
解除进程后台化,只保留主函数,运行后结果如下:
这里写图片描述
从文件中描述应该是libprotobuf.so和libSubClient.so两个文件有问题。所以思考,可能是依赖冲突问题。
此处,应该如何直接分析?暂时不知道。

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