Android ndk-gdb 调试初探

1. ndk-build NDK_DEBUG=1

来编译jni文件夹下的c++文件. NDK_DEBUG=1这个参数可以保证编译后的native方法可调试。

* 另外一种方法是修改AndroidManifest.xml 中的application的属性

<application android:debuggable="true">


2. ndk-gdb需要adb的支持,在~/.bashrc中添加adb的路径到PATH,确保任意路径都能支持adb命令:

# add adb path
export PATH=/home/ruoyao/android-sdk-linux/platform-tools:$PATH


*ndk-build, ndk-gdb命令也放在~/.bashrc里面,以便到处支持。

alias ndk-build='~/android-ndk/ndk-build'
alias ndk-gdb='~/android-ndk/ndk-gdb'

使之生效,就在terminal中输入 source ~/.bashrc


3. 此时应该可以在你的anroid项目目录下启动ndk-gdb,输入

ndk-gdb


不过据说要想调试android jni里c++代码,要先在java文件里c++方法调用前打断点,然后用上面方法启动ndk-gdb,然后释放断点进入c代码。Sign~ 我没成功,继续尝试中。


4. 改用图形界面调试。用eclipse调试 native c code- 需要安装sequoyah插件 (参考:http://www.cnblogs.com/shadox/archive/2011/12/02/2272564.html)

插件地址:http://download.eclipse.org/sequoyah/updates/2.0/

这个插件的安装险些将我累死,其实就是个小坑:eclipse help/install new software/  ,然后一定要去掉Group items by categories  选项的钩,否则看不到下载项

用法的核心是先在java文件调用jni的入口处和下一行都打上断点,并调用java debug。停在入口处后,马上再运行c++ debug,当然得在eclipse先设置好啦,其实就是ndk-gdb,只不过设置过程万里长。 ps,我设定好了,不过最后仍然没有debug进c文件, sign~~


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值