I’m debugging an Android NDK application remotely through Eclipse (with ADT and CDT).
For some reason gdb is unable to hook into the Android linker so loading libraries doesn’t cause the symbols to load. When a crash occurs, some symbols might not be loaded yet.
I perform set solib-search-path obj/local/armeabi in the Eclipse Console view, which causes GDB to reload the symbols. Afterwards, I can issue bt to get a GDB backtrace and it works.
How do I cause the Eclipse Debug view to refresh with the correct backtrace information? Stepping is not an option since I’m right in the middle of SIGSEGV handling.
P.S. According to Android NDK Revision 8b, this is now fixed:
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).

One possible option seems to be to issue a jump to the exact instruction I’m at, i.e.:
I’d love to have a more convenient option 🙂