android本机调试(ndk-gdb不起作用)



首先,我已经阅读了3到4个教程,20个关于堆栈溢出的相关问题,我很绝望,似乎什么都不起作用。。。

我在macosx,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."

(这是错误的)


当我的程序使用segov崩溃时,如果我使用addr2line或ndk堆栈,两者都表示我的地址不正确。

有人知道为什么gdb不能连接到我的流程吗?或者有解决办法?

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

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

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

最新更新