繁体   English   中英

如何在android上调试纯本机代码?

[英]how to debug pure native code on android?

我已经从纯C ++代码构建了二进制可删除代码,并且在Android设备上运行时会提示时间错误。

我如何调试Android的纯本机代码? 似乎现有方法不适用于纯本机代码。

第1步:在android模拟器上放置gdbserver未经剥离的 本机二进制可执行文件 (假设它名为testexec)。 例如,您可以将它放在文件夹/ data / data / test下。 并使用chmod命令为它们添加权限。

第2步:启动gdb调试器。 此步骤包括以下子步骤:

步骤2.1:在主机终端上输入命令启动模拟器的gdb调试器:

 adb shell /data/data/test/gdbserver 10.0.2.2:1234 /data/data/test/testexec 

然后,模拟器将侦听端口1234。

步骤2.2 :将本地计算机的gdb调试器与模拟器的gdbserver连接:

telnet localhost 5554 

它会提示:

Android控制台:输入“帮助”以获取命令列表

然后输入:

redir add tcp:1234:1234

启用数据重定向然后键入

exit

步骤2.3 :启动本地机器的gdb调试器。 输入:

arm-linux-androideabi-gdb.exe YOUR_ EXECUTABLE_PATH_ON_LOCAL_MACHINE\testexec

之后,输入

target remote localhost:1234

连接到gdbserver。

最后,享受您的调试!

Android支持使用GDB 但是,我应该注意,如果通过“纯C ++”你的意思是在应用程序中根本没有Java,这在技术上是不允许的(尽管你绝对可以这样做)。 请参阅NDK页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM