一步一步教你调试JNI
来源:互联网 发布:网络营销软件 编辑:程序博客网 时间:2024/05/02 02:55
本文转自http://user.qzone.qq.com/65112183/main#!app=2&via=QZ.HashRefresh&pos=1332229687
这个东西还是很有用,看上去很高级的哈。
先决条件:
必须先安装Sequoyah. 你能从下面2个地址安装Sequoyah http://download.eclipse.org/sequoyah/updates/1.1orhttp://download.eclipse.org/sequoyah/updates/2.0
如果需要,它会安装CDT的依赖包:
设置调试部分
(for NDK r5)$NDK_PATH/toolchains/arm-eabi-$GCC_VERSION/prebuilt/$ARCH/bin/arm-eabi-gdb
这个东西还是很有用,看上去很高级的哈。
先决条件:
必须先安装Sequoyah. 你能从下面2个地址安装Sequoyah http://download.eclipse.org/sequoyah/updates/1.1orhttp://download.eclipse.org/sequoyah/updates/2.0
如果需要,它会安装CDT的依赖包:
- 平台必须是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配置
- 设置下面的属性:
- 选择标准的进程启动器.在"Main"选项卡的底部:
- 选择"Main" 选项卡: 在"C/C++ Application"填上:
- 选择 "Debugger" 选项卡:
- Debugger: gdbserver
- 选择 "Main" 子选项卡:
- GDB debugger:
(for NDK r5)$NDK_PATH/toolchains/arm-eabi-$GCC_VERSION/prebuilt/$ARCH/bin/arm-eabi-gdb
- GDB 命令文件:
- 选择 "Connection" 子选项卡:
- Type: TCP
- Hostname or IP address: localhost
- Port number: 5039
- 修改本地文件夹的 gdb.setup 文件.
删除 "target remote:5039" .
- 在Eclipse到GDB连接到gdbserver 后,启动上面配置C/C++调试器.
在完成上面的步骤后,我们就能像平常一样调试程序.
0 0
- 一步一步教你调试JNI
- 一步一步教你学界面换肤。
- 一步一步教你配置vnc
- 教你一步一步使用django
- 一步一步教你用JCA
- 一步一步教你用 echarts
- 一步一步教你注册MyEclipse
- 一步一步教你用JCA
- 一步一步教你Socket编程
- 一步一步教你安装openstack
- 一步一步教你使用SpringSecurity
- 一步一步教你使用CodeFisrt
- 代码需一步一步调试,能让你思路清晰!
- NDK 一步一步了解jni
- 一步一步教你远程调用EJB
- 一步一步教你网站同步镜像- -
- 一步一步教你网站同步镜像
- 一步一步教你网站同步镜像
- [leetcode] Sqrt(x)
- 漳裂膳恫弛敲蚀操孕几炕糯端呐倘
- IFrame语法,实例
- ubuntu多个gcc版本切换
- 不安装cygwin而只在windows下运行bundler
- 一步一步教你调试JNI
- URAL 1517 Freedom of Choice (后缀数组 输出两个串最长公共子串)
- <实例>消除内嵌括号——使用栈实现
- HDU 1997 汉诺塔VII
- ubuntu12.04 创建启动器图标
- 阿布学排序之冒泡排序
- 南宁去痘要多少费用 国家公立甲等医院
- String存放在堆中还是栈中
- 利用DHT网络原理制作bt采集蜘蛛,开源版