gdb 远程调试 android native 程序
2015-06-08 17:19
288 查看
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287
先看一张原理图:
我是 Linux 和 Android 双料 0 基础,目前对 gdb 了解的很浅显。(注意:在 Android 上执行的命令,需要在 adb shell 下执行。)
① 打开命令终端(Ctrl + Alt + T),输入 adb shell。在 Android 的 data 目录下新建一个目录,如 dog_ld。
② 将 gdbserver 和要调试的程序从 Linux 拷贝到 Android 的 /data/dog_ld 目录。
③ 进入 Android 的 /data/dog_ld 目录下,看看需要的文件是否拷贝成功。
④ 修改一下文件权限。
⑤ 通过 Android 的 /data/dog_ld 目录下的 gdbserver,启动准备调试的程序。
进程 id 是 732,gdbserver 使用的端口是 1234。
⑥ 通过Ctrl + Alt + T,再打开一个 Linux 命令行窗口。通过 adb forword 将 Linux 的 1234 端口映射到 Android 的 1234 端口。
⑦ 进入 Linux 下 dog_ld 的源码目录,启动 NDK 的 arm-linux-androideabi-gdbtui 进行远程调试。
⑧ 启动之后,就可以输入命令进行调试了。输入 s 代表单步执行。
先看一张原理图:
我是 Linux 和 Android 双料 0 基础,目前对 gdb 了解的很浅显。(注意:在 Android 上执行的命令,需要在 adb shell 下执行。)
① 打开命令终端(Ctrl + Alt + T),输入 adb shell。在 Android 的 data 目录下新建一个目录,如 dog_ld。
② 将 gdbserver 和要调试的程序从 Linux 拷贝到 Android 的 /data/dog_ld 目录。
③ 进入 Android 的 /data/dog_ld 目录下,看看需要的文件是否拷贝成功。
④ 修改一下文件权限。
⑤ 通过 Android 的 /data/dog_ld 目录下的 gdbserver,启动准备调试的程序。
进程 id 是 732,gdbserver 使用的端口是 1234。
⑥ 通过Ctrl + Alt + T,再打开一个 Linux 命令行窗口。通过 adb forword 将 Linux 的 1234 端口映射到 Android 的 1234 端口。
⑦ 进入 Linux 下 dog_ld 的源码目录,启动 NDK 的 arm-linux-androideabi-gdbtui 进行远程调试。
⑧ 启动之后,就可以输入命令进行调试了。输入 s 代表单步执行。
相关文章推荐
- android 关于Acitivity 的setFlag以及launchmode的总结
- android开发遇到的一些问题,随手记录~
- Android开发者必知的5个开源库
- android开发扩大CheckBox点击监听范围
- android学习收藏的一些网址,自用~
- Android实现语音识别代码
- android 背景图片的变形(background)
- android 数据库事务
- Android Bundle类别
- Android性能测试工具 使用方法
- Android: 信息推送
- Android 通用型手电筒代码
- Android触摸屏事件派发机制详解与源码分析一(View篇)
- android学习之---滚动新闻视图
- Android 圆形/圆角图片的方法
- Android Studio --自动删除没有用的资源,给APK减减肥
- Android 组件ContentProvider
- Android初步了解入门
- android的init.rc文件详解
- android log技巧