修正 调试尚未执行的程序 的方法.

Signed-off-by: rick.chan <chenyang@autoai.com>
This commit is contained in:
rick.chan 2020-08-25 13:24:51 +08:00
parent fd03ca7085
commit 1ce4d994a6
1 changed files with 4 additions and 23 deletions

View File

@ -16,10 +16,10 @@
## 2.调试正在运行的应用或进程 ## 2.调试正在运行的应用或进程
如需连接到正在运行的应用或本机守护程序,请配合使用 gdbclient.py 和 PID。例如,如需调试 PID 为 1234 的进程,请于 Android 源码目录下运行以下命令 如需连接到正在运行的应用或本机守护程序,请配合使用 gdbclient.py 和 PID
```bash ```bash
gdbclient.py -p 1234 gdbclient.py -p <program pid> --port <port>
``` ```
此脚本会设置端口转发,在设备上启动相应的 gdbserver在主机上启动相应的 gdb配置 gdb 以查找符号,然后将 gdb 连接到远程 gdbserver。 此脚本会设置端口转发,在设备上启动相应的 gdbserver在主机上启动相应的 gdb配置 gdb 以查找符号,然后将 gdb 连接到远程 gdbserver。
@ -28,29 +28,10 @@ gdbclient.py -p 1234
## 3.调试尚未执行的程序 ## 3.调试尚未执行的程序
如需在进程启动时对其进行调试,请先在 Android 设备上使用 gdbserver 或 gdbserver64 启动应用程序。对于 64 位可执行文件 如需调试尚未执行的程序,请按如下方式操作
```bash ```bash
adb shell gdbserver64 :<port> /<path>/<bin>/<program> [program args] gdbclient.py --port <port> -r <program>
```
对于 32 位可执行文件:
```bash
adb shell gdbserver :<port> /<path>/<bin>/<program> [program args]
```
接着,从 gdbserver 输出内容中找到应用 PID例如
```bash
Process <program> created; pid = <program pid>
Listening on port <port>
```
在 Android 源码目录另一个终端窗口,使用:
```bash
gdbclient.py -p <program pid> --port <port>
``` ```
最后,在 gdb 提示符处输入 gdb 调试命令进行调试即可。 最后,在 gdb 提示符处输入 gdb 调试命令进行调试即可。