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

技术分享 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。