小编new*_*man的帖子

在Eclipse中调试Android NDK C/C++代码 - 没有命中断点

我下载了适用于Linux和Android NDK的Android SDK Bundle.安装了ADT,我安装了CDT.

我创建了一个Android项目并添加了原生支持(jni).然后我在java代码中编写了本机函数,用c ++代码导出.在c ++代码中我定义了这个函数.

Java的代码:

static {
    System.loadLibrary("test");
}

private native String get_text_from_cpp();
Run Code Online (Sandbox Code Playgroud)

c ++代码(h):

extern "C"{
   JNIEXPORT jstring JNICALL Java_com_example_test_MainActivity_get_1text_1from_1cpp(JNIEnv *, jobject);
}
Run Code Online (Sandbox Code Playgroud)

c ++代码(cpp):

JNIEXPORT jstring JNICALL Java_com_example_test_MainActivity_get_1text_1from_1cpp(JNIEnv * env, jobject){
    return env->NewStringUTF( "hello from C++" );
}
Run Code Online (Sandbox Code Playgroud)

代码无误地运行.但是当我在c ++代码中设置断点时,它没有被击中.

build-nkd NDK_DEBUG = 1 - 包括在内

我按照说明http://tools.android.com/recent/usingthendkplugin

jni中的Android.mk /具有LOCAL_CFLAGS:= -g

我已经阅读了很多信息,但我无法定制Eclipse.请帮助任何人.

PS:对不起,我的英语不是我的母语.我写作有困难.

添加:同样在控制台显示调试期间:"警告:无法加载95个库的共享库符号,例如/ system/bin/linker.使用"info sharedlibrary"命令查看完整列表.是否需要"set solib- search-path"或"set sysroot"?警告:无法找到动态链接器断点函数.GDB将最终重试.同时,很可能GDB无法调试共享库初始化程序或在dlopen()之后解析挂起的断点."

eclipse debugging java-native-interface android android-ndk

9
推荐指数
4
解决办法
2万
查看次数