首先,我已经阅读了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库项目中的进程。
作为一种变通方法,您可以在库中放置一个模拟主入口点,将其转换为可执行项目,在调试模式下执行。