如何在android上调试纯本机代码? 我已经建立了一个二进制代码,它可以从纯C++代码中被激活,并且在Android设备上运行时会提示时间错误。p>

如何在android上调试纯本机代码? 我已经建立了一个二进制代码,它可以从纯C++代码中被激活,并且在Android设备上运行时会提示时间错误。p>,android,debugging,native-code,Android,Debugging,Native Code,如何调试android的纯本机代码?现有的方法似乎不适用于纯本机代码。Android支持使用。但是,我应该注意到,如果“纯C++”的意思是应用程序中根本没有Java,那么从技术上讲这是不允许的(尽管您肯定可以做到)。请参见第1步:将gdbserver和您的未压缩的本机二进制可执行文件(假设它名为testexec)放在android emulator上。例如,您可以将其放在文件夹/data/data/test下。并使用chmod命令向其添加权限 步骤2:启动gdb调试器。该步骤包括以下子步骤: 步

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

Android支持使用。但是,我应该注意到,如果“纯C++”的意思是应用程序中根本没有Java,那么从技术上讲这是不允许的(尽管您肯定可以做到)。请参见第1步:将gdbserver和您的未压缩的本机二进制可执行文件(假设它名为testexec)放在android emulator上。例如,您可以将其放在文件夹/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


最后,祝您调试愉快

我建议您阅读并再次尝试提问,以提高我们帮助您获得答案的能力。谢谢。我找到了解决办法。在这里发布,希望它能帮助其他被这个问题困扰的人。你知道如何用telnet连接到真实的设备,而不是模拟器吗?我试图用adb shell ip-f inet addr show查询ip,但无法连接