使用eclipse/ndk-gdb对java/native code联合调试
来源:互联网 发布:家具画图软件 编辑:程序博客网 时间:2024/05/01 13:08
想必很多网友都有这样的疑惑,我的程序中上层是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中点continnue,ndk-gdb命令行中可以看到hello-jni.c的断点被hit上了
转自:http://www.devdiv.com/thread-32770-1-1.html
我们首先想到的是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中点continnue,ndk-gdb命令行中可以看到hello-jni.c的断点被hit上了
转自:http://www.devdiv.com/thread-32770-1-1.html
- 使用eclipse/ndk-gdb对java/native code联合调试
- 使用eclipse/ndk-gdb对java/native code联合调试
- 使用eclipse/ndk-gdb对java/native code联合调试
- ndk-gdb对java/native code联合调试
- ndk-gdb对java/native code联合调试
- 使用jdb和gdb同时调试java native code
- 使用ndk-gdb调试android native程序
- 使用GDB调试Android NDK native程序
- 用ndk-gdb调试Native
- android如何使用ndk-gdb调试native程序
- 使用GDB调试Android NDK native(C/C++)程序
- 使用GDB调试Android NDK native(C/C++)程序
- 使用GDB调试Android NDK native(C/C++)程序
- 使用GDB调试Android NDK native(C/C++)程序
- GDB+gdbserver 远程调试android native code
- GDB + gdbserver 远程调试android native code
- Eclispe+CDT+gdb调试android ndk程序----包括CDT组件跟Sequoyah Android Native Code Support组件安装
- 如何使用Eclipse和GDB对JNI代码进行调试(JAVA和C)
- 算法导论代码 第21章 用于不相交集合的数据结构
- 网络编程(二)
- 从SVN到GIT迁移
- 表示创建一个数组的实例
- 自想一架构设计
- 使用eclipse/ndk-gdb对java/native code联合调试
- 在同一个机器上复制数据库
- +z +Z compiler flag for HP
- How to Build FFmpeg for Android
- 2011年度总结:不甘寂寞的2011
- 试题:组合
- 在宿舍如何使用IPv6免费上网(非第三方软件)
- C#调用Illustrator CS4生成系统所有字体列表并保存为AI文件(Illustrator矢量图形编程之4)
- 使用internal(com.android.internal)和hidden(@hide)APIs