eclipse编译调试java与ndk c++的混合代码
2011-11-21 20:31
846 查看
转载自:http://www.devdiv.com/home.php?mod=space&uid=1&do=blog&id=2112
想必很多网友都有这样的疑惑,我的程序中上层是java代码,下层使用c/c++ 写的,那到底要怎么调试呢?
我们首先想到的是ndk-gdb,ndk是google提供的用来native code开发的,ndk-gdb使用来调试native code的。
我们还知道eclipse是用来调试java code的,它不能直接调试native code。
如果能将二者结合起来,一边用eclipse调试java代码,同时用ndk-gdb调试,那就再好不过了。
下面我们就来介绍如何进行联合调试
1. 准备ndk_r4, sdk 2.2, eclipse, ant
2. 我对hello-jni的代码做了点修改,参考附件代码
3. shell进入ndk/samples/
运行android update project --path hello-jni
进入ndk/samples/hello-jni
运行ndk-build
运行ant debug
启动android模拟器(可以从eclipse启动)
运行adb install bin/HelloJni-debug.apk
4. 使用eclipse创建一个android project,名字叫hellojni
把ndk/samples/hello-jni下所有文件copy到eclipse工程所在目录,然后编译
5. shell中启动ndk-gdb
6. 在hello-jni.c中设置断点,shell中执行b 30
7. shell中执行continue
8. 打开eclipse/ddms,找到hello-jni,然后点attach
9. 在eclipse的java程序中设置一个断点
10. 点模拟器中的button
11. eclipse java中的代码断点被hit上
12. eclipse中点continue,ndk-gdb命令行中可以看到hello-jni.c的断点被hit上了
代码请论坛下载http://www.devdiv.com/thread-32770-1-1.html
Vincent@devdiv.com原创,转载请注明出处
想必很多网友都有这样的疑惑,我的程序中上层是java代码,下层使用c/c++ 写的,那到底要怎么调试呢?
我们首先想到的是ndk-gdb,ndk是google提供的用来native code开发的,ndk-gdb使用来调试native code的。
我们还知道eclipse是用来调试java code的,它不能直接调试native code。
如果能将二者结合起来,一边用eclipse调试java代码,同时用ndk-gdb调试,那就再好不过了。
下面我们就来介绍如何进行联合调试
1. 准备ndk_r4, sdk 2.2, eclipse, ant
2. 我对hello-jni的代码做了点修改,参考附件代码
3. shell进入ndk/samples/
运行android update project --path hello-jni
进入ndk/samples/hello-jni
运行ndk-build
运行ant debug
启动android模拟器(可以从eclipse启动)
运行adb install bin/HelloJni-debug.apk
4. 使用eclipse创建一个android project,名字叫hellojni
把ndk/samples/hello-jni下所有文件copy到eclipse工程所在目录,然后编译
5. shell中启动ndk-gdb
6. 在hello-jni.c中设置断点,shell中执行b 30
7. shell中执行continue
8. 打开eclipse/ddms,找到hello-jni,然后点attach
9. 在eclipse的java程序中设置一个断点
10. 点模拟器中的button
11. eclipse java中的代码断点被hit上
12. eclipse中点continue,ndk-gdb命令行中可以看到hello-jni.c的断点被hit上了
代码请论坛下载http://www.devdiv.com/thread-32770-1-1.html
Vincent@devdiv.com原创,转载请注明出处
相关文章推荐
- eclipse编译调试java与ndk c++的混合代码
- eclipse编译调试java与ndk c++的混合代码
- Eclipse——混合调试java与C++代码(Linux下Debug)
- Linux环境下android平台调试native代码, 从java debug 到C++ (NDK DEBUG)
- Windows Eclipse编译调试Linux下的C++代码
- Linux环境下android平台调试native代码, 从java debug 到C++ (NDK DEBUG)
- Eclipse中使用NDK自动编译C++代码
- eclipse中让ndk自动编译c++代码
- Linux环境下android平台调试native代码, 从java debug 到C++ (NDK DEBUG)
- Ubuntu下eclipse编译调试带makefile的c++项目源码
- 使用Eclipse调试Java程序代码(组图)
- Eclipse + Android + NDK+ C++ Windows 下调试
- AndroidStudio3.0开发调试安卓NDK的C++代码
- Android Studio 1.5+ 中混合调试Native和Java代码
- win7下使用Eclipse双向断点调试JAVA+NDK的环境配置
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Windows环境下android平台native调试,从java debug 到 C++ (NDK DEBUG)
- [置顶] AndroidStudio3.0开发调试安卓NDK的C++代码
- 【转】使用JNI进行混合编程:在C/C++中调用Java代码
- 关于修改web app项目java代码后Eclipse没有重新编译的问题