Android-NDK的ARM-NEON调试

Android-NDK的ARM-NEON调试,android,gdb,android-ndk,neon,Android,Gdb,Android Ndk,Neon,用于ARM的NDK(Android原生开发工具包)附带了一个gcc和GNU utils工具链,包括一个旧的GDB。然而,GDB似乎无法显示VFP或NEON SIMD扩展中寄存器的内容——也就是说,在使用NEON/VFP指令调试程序时,只有寄存器的子集可见。我相信要获得这种能力,需要更新版本的GDB。正在使用的硬件支持霓虹灯 是真的我需要一个更新的gdb,而谷歌NDK的出货gdb不能做到这一点吗 是否有一个预构建的GDB用于在armandroid设备上调试VFP/NEON代码,或者有一个过程来生成

用于ARM的NDK(Android原生开发工具包)附带了一个gcc和GNU utils工具链,包括一个旧的GDB。然而,GDB似乎无法显示VFP或NEON SIMD扩展中寄存器的内容——也就是说,在使用NEON/VFP指令调试程序时,只有寄存器的子集可见。我相信要获得这种能力,需要更新版本的GDB。正在使用的硬件支持霓虹灯

是真的我需要一个更新的gdb,而谷歌NDK的出货gdb不能做到这一点吗


是否有一个预构建的GDB用于在armandroid设备上调试VFP/NEON代码,或者有一个过程来生成一个包含最新GDB的NDK工具链来实现这一点?(对于Windows/Linux 64位主机)

看起来出厂的NDK GDB无法显示NEON寄存器。ARM开发者网站上的这一点暗示了这一点,DS5套件中附带的gdbserver增加了这种能力

DS-5中提供的gdbserver基于GNU gdbserver的较新版本,并提供额外的多线程功能、访问ARM NEON寄存器(如果可用)和改进的稳定性

Android NDK(在r8上选中)附带了一个不支持NEON的旧gdb和gdbserver(v6.6)。要使用它,您可以从gdb源代码和Android修补程序中构建它,或者获取一个预构建的:

  • 下载
  • 打开(NDK)\toolschains\arm-linux-androideabi-4.4.3\prebuild\windows\bin目录
  • arm linux AndroidAbi gdb.exe重命名为arm linux AndroidAbi gdb OLD.exe
  • 将新的gdb.exe复制到当前文件夹
  • 打开(NDK)\toolschains\arm-linux-androideabi-4.4.3\prebuilded目录
  • gdbserver文件重命名为gdbserver\u old
  • 将新的gdbserver复制到当前文件夹

  • 听起来好像还有其他选择。或者给自己买一个基于tegra2的设备:)我想zapl只是在开玩笑@OP:如果你想得到答案,请说得更清楚些。