如何调试.so源代码?

时间:2013-11-01 06:04:19

标签: c++ linux

我想知道如何调试so文件的内部源代码。 我有一个so文件,我使用dlopen()打开它,然后我使用dlsym()来加载方法。 现在,我使用带有标志-g的g ++工具来编译它。它运行得很好,但我不能通过使用gdb命令'next'进入这样的源。

2 个答案:

答案 0 :(得分:1)

您似乎混淆了运行gdb的两种不同方式。这是一个解释如何迭代源代码的链接。

http://sourceware.org/gdb/onlinedocs/gdb/Continuing-and-Stepping.html

答案 1 :(得分:1)

如果 all ,则使用-g编译代码(包括dlopen - ed共享对象.so文件的代码以及所有代码主dlopen - ing程序),然后你可以 step加入gdb插件的一个函数(或者甚至在里面加一个断点)。

使用GCC compiler(例如4.8)和GDB debugger(即7.6)的最近版本可能很有用。在这些方面,两者都得到了显着改善。