android程序启动之后 eclipse ndk-gdb 连接,eclipse下调试Jni

如果需要,它会安装CDT的依赖包:a4c26d1e5885305701be709a3d33442f.png

平台必须是Android2.2(android-8)或者更高

NDK版本必须是r4b或更高

必须安装Eclipse CDT 7.0 或更高版本

AndroidManifest.xml 设置属性 android:debuggable="true" ,或者项目使用

"NDK_DEBUG=1" 编译(for r5)

必须用ndk-build编译项目(如果使用Sequoyah 组件,将会自动完成)

设置调试部分

为Android程序创建debug配置 (用 Eclipse 或 MOTODEV Studio)

打开Android NDK附带的 ndk-gdb 脚本,注释最后一行.另存为eclipse-ndk-gdb

(我们不调用原来的gdb客户端, 而是用 Eclipse gdb

代替):

#$GDBCLIENT

-x $GDBSETUP -e $APP_PROCESS

最好在调用 System.loadLibrary() 前的Java代码中插入一个断点,

以确保正确地连接到调试器的Java进程.

运行Android Debug,等待它到达断点的位置

打开一个终端,进入项目目录,运行eclipse-ndk-gdb.

它不会附加一个GDB客户端,而是在模拟器上调用gdbserver的连接,打开一个TCP端口.

为项目创建C/C++ Debug配置

设置下面的属性:

a4c26d1e5885305701be709a3d33442f.png

选择标准的进程启动器.在"Main"选项卡的底部:

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

选择"Main" 选项卡: 在"C/C++

Application"填上:

$PROJECT_PATH/obj/local/armeabi/app_process

a4c26d1e5885305701be709a3d33442f.png

选择 "Debugger" 选项卡:

Debugger: gdbserver

选择 "Main" 子选项卡:

GDB debugger:

(for

NDK

r4b)$NDK_PATH/build/prebuilt/$ARCH/arm-eabi-$GCC_VERSION/bin/arm-eabi-gdb

(for NDK

r5)$NDK_PATH/toolchains/arm-eabi-$GCC_VERSION/prebuilt/$ARCH/bin/arm-eabi-gdb

GDB 命令文件:

$PROJECT_PATH/obj/local/armeabi/gdb2.setup[Windows

用户] 取消 "Use full file path to set breakpoints" 选项

a4c26d1e5885305701be709a3d33442f.png

选择 "Connection" 子选项卡:

Type: TCP

Hostname or IP address: localhost

Port number: 5039

a4c26d1e5885305701be709a3d33442f.png

修改本地文件夹的 gdb.setup 文件.

$PROJECT_PATH/obj/local/armeabi/

删除 "target remote:5039" .

在Eclipse到GDB连接到gdbserver 后,启动上面配置C/C++调试器.

在完成上面的步骤后,我们就能像平常一样调试程序.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值