beh*_*ehe 5 debugging android native-code
我已经从纯C++代码构建了二进制可删除代码,并且在Android设备上运行时会提示时间错误.
我如何调试Android的纯本机代码?似乎现有方法不适用于纯本机代码.
第 1 步:将gdbserver 和未剥离的 本机二进制可执行文件(假设它命名为 testexec)放在 android 模拟器上。例如,您可以将其放在文件夹/data/data/test 下。并使用chmod命令为其添加权限。
Step2: 启动gdb调试器。此步骤由以下子步骤组成:
步骤 2.1:通过在主机终端上键入命令来启动模拟器的 gdb 调试器:
adb shell /data/data/test/gdbserver 10.0.2.2:1234 /data/data/test/testexec
Run Code Online (Sandbox Code Playgroud)
然后模拟器将侦听端口 1234。
步骤2.2:将本地机器的gdb调试器与模拟器的gdbserver连接:
telnet localhost 5554
Run Code Online (Sandbox Code Playgroud)
它会提示:
Android 控制台:键入“帮助”以获取命令列表
好的
然后输入:
redir add tcp:1234:1234
Run Code Online (Sandbox Code Playgroud)
启用数据重定向,然后键入
exit
Run Code Online (Sandbox Code Playgroud)
Step2.3:启动本机的gdb调试器。输入:
arm-linux-androideabi-gdb.exe YOUR_ EXECUTABLE_PATH_ON_LOCAL_MACHINE\testexec
Run Code Online (Sandbox Code Playgroud)
之后,输入
target remote localhost:1234
Run Code Online (Sandbox Code Playgroud)
连接到 gdbserver。
最后,祝您调试愉快!
| 归档时间: |
|
| 查看次数: |
2729 次 |
| 最近记录: |