通过Java调试Android JUnit JNI调用

时间:2014-02-06 18:27:46

标签: android c++ debugging gdb

是否有人在Android JUnit测试用例中调试Android Java代码,这些测试用例是进入和退出位于库项目中的JNI C ++代码?可能吗?如果是这样,它是如何工作的?在我的设置中,我有一个Android JUnit测试,它在库项目中执行一个组件。我的设置中也有一个Java断点,我不得不破解ndk-gdb脚本来解决“run-as”无法在我的4.3 Galaxy Nexus上运行的问题。我还破解了我的主项目,在我的主项目中添加sym链接到libs和jni文件夹只是为了满足ndk-gdb脚本。运行ndk-gdb会让我看起来像是一个远程gdb会话。当我尝试在我的cpp代码中设置断点时,我收到一条错误,指出尚未加载符号表。

No symbol table is loaded.  Use the "file" command.
Make breakpoint pending on future shared library load?

我在我的主项目,lib项目和测试项目Manifest文件中设置了android:debuggable =“true”。我很确定loadLibrary已被调用,因为我的断点发生在我的JNI对象与静态loadLibrary调用被实例化之后。我还应该寻找什么?

0 个答案:

没有答案