当前位置: 技术问答>linux和unix
gdb调试动态链接库
来源: 互联网 发布时间:2017-03-13
本文导语: 我有两个工程,一个工程为动态连接库工程(A.so),另外一个可执行文件工程(B)。B工程会用到A.so,通过包含 A工程的头文件进行使用A.SO。 动态链接库使用-g -shared选项编译。B工程使用-g选项编译。 但是我使用gd...
我有两个工程,一个工程为动态连接库工程(A.so),另外一个可执行文件工程(B)。B工程会用到A.so,通过包含 A工程的头文件进行使用A.SO。
动态链接库使用-g -shared选项编译。B工程使用-g选项编译。
但是我使用gdb调试B ,却无法对A.so下断点,请问各位我应该如何调试该动态链接库?谢谢
动态链接库使用-g -shared选项编译。B工程使用-g选项编译。
但是我使用gdb调试B ,却无法对A.so下断点,请问各位我应该如何调试该动态链接库?谢谢
|
你是用什么方式调试的?
gdb的话可以这样
gdb *.exe
gdb sharedlibrary *.so
gdb break 你设置断点的位置(可以是你的函数名)
gdb run
gdb next 单步执行
gdb的话可以这样
gdb *.exe
gdb sharedlibrary *.so
gdb break 你设置断点的位置(可以是你的函数名)
gdb run
gdb next 单步执行
|
动态链接库编译时候-fPIC -g,连接就不必加-g了。
|
不可能不能加上啊。 动态链接库里的函数、代码行 也可以设置上断点的。gdb会问你是否进行动态库中符号的搜索,你选y/n中的y就可以了。 如果没加上,估计你写错了函数名字啥的了吧。