我正在通过Eclipse远程调试Android NDK应用程序(使用ADT和CDT)。
由于某种原因,gdb无法挂钩到Android链接器,因此加载库不会导致符号加载。发生崩溃时,可能尚未加载某些符号。
我在Eclipse Console视图中执行set solib-search-path obj/local/armeabi
,这会导致GDB重新加载符号。之后,我可以发出bt
来获取GDB回溯并且它可以正常工作。
如何使用正确的回溯信息刷新Eclipse Debug视图?步进不是一种选择,因为我正处于SIGSEGV处理的中间。
P.S。根据Android NDK Revision 8b,现在已修复:
Fixed several issues in ndk-gdb:
...
* Updated tool to retrieve /system/bin/link information, so gdb on the host can set a breakpoint in __dl_rtld_db_dlactivity and be aware of linker activity (e.g., rescan solib symbols when dlopen() is called).
答案 0 :(得分:1)
一种可能的选择似乎是跳转到我所在的确切指令,即:
jump * 0x40102ab6
我希望有一个更方便的选择: - )