我想通过 gdb 远程调试将 gdb 命令(如“backtrace”、“b *0xAAAAAAA”、“ib”、...)从 IDA 调试器发送到 gdbserver 并接收结果并将其打印到 IDA 的输出视图,我可以这样做吗?它?有人试过吗?
我在 IDA 帮助中发现了函数“SendDbgCommand”
向调试器引擎发送任意命令。返回: 命令输出。
注意:此功能可用于以下调试器:windbg、gdb、bochs
字符串 SendDbgCommand(字符串 cmd);
但是当我在 idc 脚本或 idapython 脚本中尝试时,它不起作用!
更多详情:
- 我使用了 ida 6.1 远程 GDB 调试器,我的远程机器是 Ubuntu,运行命令
gdbserver --multi 本地主机:12345
作为正常的远程调试会话,一切正常
现在,我想在 ida GUI 提供的运算符旁边使用其他 gdb 命令(如上)
- 我尝试了 idapython 脚本:https://code.google.com/p/idapython/source/browse/trunk/Scripts/DbgCmd.py?r=344 但它没有用,当执行 SendDbgCommand 时,它返回 IDC_FAILURE
if s.startswith("IDC_FAILURE"): raise Exception, "Debugger command is available only when the debugger is active!"
- 我也尝试在 idc 脚本中使用 SendDbgCommand 但我也没有工作,它返回 0
任何人都可以帮助我吗?太感谢了!