Android JNI:如何进行反向调试?

时间:2013-06-21 21:12:39

标签: android debugging android-ndk gdb java-native-interface

有没有办法在原生(c ++)Android应用程序中进行反向调试?

具体来说,我需要能够使用gdb调用recordreverse-continue来查找内存损坏的原因(如此处所示:https://stackoverflow.com/a/9771720/1054746)。

现在,recordreverse-continue命令只打印“平台不支持该命令”之类的内容。

1 个答案:

答案 0 :(得分:0)

在Android上,reverse-continue应该只适用于Intel x86 System Image平台之一(可从SDK Manager获得)进行调试。

请参阅GDB Documentation:

  

目前,只支持某些目标调试环境   反向调试。目前这些目标包括:

     
      
  • 原生i386-linux('目标记录')
  •   
  • 原生amd64-linux('目标记录')
  •   
  • 几个远程目标,包括:   
        
    • moxie-elf simulator
    •   
    • Simics
    •   
    • VMware Workstation 7.0
    •   
    • SID模拟器(xstormy16架构)
    •   
    • chronicle-gdbserver使用valgrind
    •   
    • UndoDB
    •   
  •