我已经从纯 C++ 代码构建了一个二进制可执行文件,它在 android 设备上运行时会提示时间错误。
如何调试 android 的纯原生代码?似乎现有的方法不适用于纯本机代码。
我已经从纯 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
然后模拟器将侦听端口 1234。
Step 2.2 : 将本地机器的 gdb 调试器与模拟器的 gdbserver 连接起来:
telnet localhost 5554
会提示:
Android 控制台:键入“帮助”以获取命令列表
好的
然后输入:
redir add tcp:1234:1234
启用数据重定向,然后键入
exit
Step2.3:启动本地机器的gdb调试器。输入:
arm-linux-androideabi-gdb.exe YOUR_ EXECUTABLE_PATH_ON_LOCAL_MACHINE\testexec
之后,输入
target remote localhost:1234
连接到 gdbserver。
最后,享受你的调试吧!