【问题标题】:Refresh Eclipse (gdb) stack trace after reloading symbols重新加载符号后刷新 Eclipse (gdb) 堆栈跟踪
【发布时间】:2012-10-04 18:43:55
【问题描述】:

我正在通过 Eclipse(使用 ADT 和 CDT)远程调试 Android NDK 应用程序。

由于某种原因,gdb 无法连接到 Android 链接器,因此加载库不会导致符号加载。发生崩溃时,某些符号可能尚未加载。

我在 Eclipse 控制台视图中执行set solib-search-path obj/local/armeabi,这会导致 GDB 重新加载符号。之后,我可以发出bt 来获取 GDB 回溯,它可以工作。

如何使用正确的回溯信息使 Eclipse 调试视图刷新?步进不是一个选项,因为我正处于 SIGSEGV 处理的中间。

附:根据 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 gdb eclipse-cdt


    【解决方案1】:

    一种可能的选择似乎是跳转到我正在使用的确切指令,即:

    jump * 0x40102ab6
    

    我希望有一个更方便的选择:-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 2011-05-12
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      相关资源
      最近更新 更多