gdb 远程调试 android native 程序

时间:2022-08-16 06:50:24

ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287

先看一张原理图:

gdb 远程调试 android  native 程序

我是 Linux 和 Android 双料 0 基础,目前对 gdb 了解的很浅显。(注意:在 Android 上执行的命令,需要在 adb shell 下执行。)

①      打开命令终端(Ctrl + Alt + T),输入 adb shell。在 Android 的 data 目录下新建一个目录,如 dog_ld。

gdb 远程调试 android  native 程序

②      将 gdbserver 和要调试的程序从 Linux 拷贝到 Android 的 /data/dog_ld 目录。

gdb 远程调试 android  native 程序

③      进入 Android 的 /data/dog_ld 目录下,看看需要的文件是否拷贝成功。

gdb 远程调试 android  native 程序

④      修改一下文件权限。

gdb 远程调试 android  native 程序

⑤      通过 Android 的 /data/dog_ld 目录下的 gdbserver,启动准备调试的程序。

gdb 远程调试 android  native 程序

进程 id 是 732,gdbserver 使用的端口是 1234。

⑥      通过Ctrl + Alt + T,再打开一个 Linux 命令行窗口。通过 adb forword 将 Linux 的 1234 端口映射到 Android 的 1234 端口。

gdb 远程调试 android  native 程序

⑦      进入 Linux 下 dog_ld 的源码目录,启动 NDK 的 arm-linux-androideabi-gdbtui 进行远程调试。

gdb 远程调试 android  native 程序

⑧      启动之后,就可以输入命令进行调试了。输入 s 代表单步执行。

gdb 远程调试 android  native 程序