问题描述
我的环境是Windows 10和谷歌官方Android Emulator,IDA 7.5版
这是我所做的:
- 使用 Unity 和 IL2CPP 脚本后端创建演示应用程序。
- 使用
adb
安装此应用并推送android_x86_server
(因为 Android Emulator 是x86
arch ) -
chmod 777 ./android_x86_server
和adb forward xxx
,打开演示应用程序。 - 使用 IDA 的远程 linux 调试器附加到演示应用程序
问题来了:
- 在我设置断点之前。 evthing按预期工作正常。唯一的问题是,每当我点击
Continue Process
和Pause Process
时,eip
总是停在同一个位置:
- 让我们调用进程总是停在的位置:
A
,一旦我在A
之后设置断点,进程立即遇到断点,如果我点击Continue Process
,进程然后再次命中断点。 (到目前为止,一切正常) - 然后如果我禁用断点,然后单击
Continue Process
,IDA 报告SIGTRAP
并且信号总是在我之前设置的断点的下一条指令的地址处收到:
然后我尝试使用 gdbserver
+ gdb
来调试它。它工作得很好。
我认为这可能与 IDA 的 remote linux debugger
有关,然后我转而使用 gdbserver
+ IDA 的 remote gdb debugger
,同样的事情发生(在命中断点后,它收到 SIGTRAP )。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)