2012-10-14 67 views
2

我通過Eclipse(使用ADT和CDT)遠程調試Android NDK應用程序。重新加載符號後刷新Eclipse(gdb)堆棧跟蹤

由於某些原因gdb無法掛接到Android鏈接器,因此加載庫不會導致符號加載。發生崩潰時,某些符號可能尚未加載。

我在Eclipse Console視圖中執行set solib-search-path obj/local/armeabi,這會導致GDB重新加載符號。之後,我可以發出bt以獲得GDB回溯,並且它可以正常工作。

如何使用正確的回溯信息刷新Eclipse調試視圖?由於我正處於SIGSEGV處理過程中,所以步進不是一個選項。

P.S.據到Android NDK版本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). 

Eclipse showing only partial backtrace

回答

1

一種可能的選擇似乎是發出一個跳轉到確切的指令我在,即:

jump * 0x40102ab6 

我很想有一個更方便的選擇:-)