我在使用静态编译的 QEMU arm 版本时遇到问题。我正在尝试从嵌入式设备调试应用程序。除了其他线程上的断点外,一切似乎都正常。我正在使用 IDA 远程 gdb 函数进行调试。而不是在这里打破
它给了我一个 SIGTRAP 并转到这里
使用硬件断点也不能解决问题。
编辑:问题似乎不是 IDA 本身。我使用的是 qemu-arm-static 2.0.0 版。IDA 似乎有我上面提到的错误。使用命令行 gdb-multiarch 尝试调试它,我在遇到断点后收到以下错误:
Program received signal SIGTRAP, Trace/breakpoint trap.
0xf67c523c in ?? ()
(gdb) info registers
/build/buildd/gdb-7.7.1/gdb/findvar.c:292: internal-error: value_of_register_lazy: Assertion `frame_id_p (get_frame_id (frame))' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y
/build/buildd/gdb-7.7.1/gdb/findvar.c:292: internal-error: value_of_register_lazy: Assertion `frame_id_p (get_frame_id (frame))' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
这发生在 2.0.0 qemu 版本以及我从这里获得的 2.8.0 版本