eclipse编译调试java与ndk c++的混合代码

转载自: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原创,转载请注明出处
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值