天天看点

linux 下调试动态库的问题

之前都没有调试过,直接在动态库函数中断点,都未能跟踪进入。找了一下问题,保证以下三个条件即可:

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所在路径/

只要保证了这三点,就可以进入到动态库函数中了。

继续阅读