我想知道如何调试so文件的内部源代码。 我有一个so文件,我使用dlopen()打开它,然后我使用dlsym()来加载方法。 现在,我使用带有标志-g的g ++工具来编译它。它运行得很好,但我不能通过使用gdb命令'next'进入这样的源。
答案 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)的最近版本可能很有用。在这些方面,两者都得到了显着改善。