有没有办法在本机(c++)Android 应用程序中进行反向调试?
具体来说,我需要能够调用record
并reverse-continue
使用 gdb 来查找内存损坏的原因(如下所示:https ://stackoverflow.com/a/9771720/1054746 )。
现在,record
andreverse-continue
命令只打印“平台不支持该命令”之类的内容。
有没有办法在本机(c++)Android 应用程序中进行反向调试?
具体来说,我需要能够调用record
并reverse-continue
使用 gdb 来查找内存损坏的原因(如下所示:https ://stackoverflow.com/a/9771720/1054746 )。
现在,record
andreverse-continue
命令只打印“平台不支持该命令”之类的内容。
在 Android 上,reverse-continue
仅当您在其中一个Intel x86 System Image
平台上调试时才适用(可从 SDK 管理器获得)。
请参阅GDB 文档:
目前,只有特定的目标调试环境会支持反向调试。这些目标目前包括:
- 本机 i386-linux ('目标记录')
- 本机 amd64-linux ('目标记录')
- 几个远程目标,包括:
- moxie-elf 模拟器
- 模拟人生
- VMware 工作站 7.0
- SID 模拟器(xstormy16 架构)
- 使用 valgrind 的编年史-gdbserver
- 撤消数据库