首先,我已经阅读了3到4个教程,20个关于堆栈溢出的相关问题,我很绝望,似乎什么都不起作用……
我在mac os x上运行,在eclipse juno,ndk-r8上,我尝试调试一个使用库(.jar)的应用程序(.apk),它使用许多本机库(.so)。我的2 AndroidManifest.xml包含debuggable=true,我用“ndk- .so NDK_DEBUG=1”编译了构建
但是当我在应用程序目录上调用"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不能附加到我的进程中吗?或者有一个变通方法来做这件事?
发布于 2012-11-14 03:59:19
正如我之前在评论中所说的:
ndk-gdb不能附加到jni位于android库项目内的进程。
作为一种解决办法,您可以在库中放置一个模拟主入口点,将其转换为可执行项目,并在调试模式下执行它。
https://stackoverflow.com/questions/11577081
复制相似问题