你的位置:首页 > 操作系统

[操作系统]gdb 远程调试 android native 程序


先看一张原理图:

 

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