1

首先,我已经阅读了 3 或 4 个教程,20 个有关堆栈溢出的相关问题,我很绝望,似乎没有任何工作......

我在 mac os x、eclipse juno、ndk-r8 上运行,我尝试调试使用库 (.jar) 的应用程序 (.apk),它使用许多本机库 (.so)。我的 2 AndroidManifest.xml 包含 debuggable=true,我用“ndk-build NDK_DEBUG=1”编译 .so


但是当我在应用程序目录上调用“ndk-gdb”时,我得到:

"ERROR: Could not find gdbserver binary under ./libs/none"

(这看起来很正常)


在库目录中,我得到:

"ERROR: Non-debuggable application installed on the target device."

(这是错误的)


当我的程序因 segv 崩溃时,如果我使用 addr2line 或 ndk-stack,两者都说我的地址不正确。

有人知道为什么 gdb 不能附加到我的进程吗?或有解决方法吗?

4

1 回答 1

0

正如我之前在评论中所说:

ndk-gdb 无法附加到 jni 位于 android 库项目中的进程。

作为一种解决方法,您可以在库中放置一个模拟主入口点,将其转换为可执行项目,在调试模式下执行它。

于 2012-11-13T19:59:19.417 回答