| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
fmms
13年前发布

用 Eclipse + GDB调试Android中C/C++程序

一、前期准备


1、编译通过的Android源代码(我是Android 2.3)


2、安装了CDT的Eclipse


3、重新编译Android gdbserver(非必须)

        因手头Android 2.3源码编译后的版本执行gdbserver时报错:Segmentation fault,不得不重新编译gdbserver。参考博文:自己编译Android gdbserver(解决运行 gdbserver时 Segmentation fault 问题)



二、建立Eclipse C/C++工程

        这里的C/C++工程属性可随意选择,目的是为了用Eclipse编辑和调试,不需要Eclipse做编译工作。建立好工程后可以将部分Android C/C++源码链接到工程中,方便查看。


三、编译并安装将被调试的程序


1、撰写Android.mk,Andriod源码下编译获得可执行文件或动态库
这是基本工作,无须多言

2、使用带调试符号表的C/C++程序替换原有程序
simba@simba-Vostro-3400:~/neptune/android_2.3$ adb push out/target/product/xxxx/symbols/system/bin/debug_demo /system/bin
</span>
3、在Eclipse Debug Configurations中新建C/C++ Remote Application
在Main标签页中设置:
C/C++ Application:
/home/simba/neptune/android_2.3/out/target/product/xxxx/symbols/system/bin/debug_demo</span>
</span>Project:
(将要调试的代码对应工程)
Connection:
local
Remote Absolute File Path : 
/system/bin/debug_demo
</span>Commands to execute before application:
/opt/android/sdks/r15/platform-tools/adb shell gdbserver :5039 /system/bin/debug_demo
/opt/android/sdks/r15/platform-tools/adb forward tcp:5039 tcp:5039
</span>注意,这里的adb路径一定要完整路径选中 “Skip download to target path”</span>

在Debugger标签页中设置:
GDB debugger(与gdbserver对应的gdb的路径):</span>
/home/simba/neptune/android_2.3/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gdb
</span>

GDB command file:

暂时置空

Gdbserver Settings:
Gdbserver name:gdbserver</span>

Portnumber:5039


4、开始愉悦地调试吧


--

参考文章:

用Eclipse开发与调试纯粹的Android C++程序,非ndk-build、ndk-gdb

来自:http://blog.csdn.net/yuleslie/article/details/7249874

 本文由用户 fmms 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1328928521858.html
Eclipse Android开发 移动开发