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 代表单步执行。