gdb reverse debugging fails with “Process record does not support instruction 0xf0d at address”

匿名 (未验证) 提交于 2019-12-03 02:31:01

问题:

i started to try reverse debugging with gdb 7, followin the tutorial:

http://www.sourceware.org/gdb/wiki/ProcessRecord/Tutorial 

and I thought, great!

Then I started to debug a real program which gives an error at the end. So I run it with gdb, and I put a breakpoint just before the place I think the error appears. Then I type "record" in order to start to recrd actions for future reverse-debugging. But after some steps I get

Process record doesn't support instruction 0xf0d at address 0x2aaaab4c4b4e. Process record: failed to record execution log.  Program received signal SIGTRAP, Trace/breakpoint trap. 0x00002aaaab4c4b4e in memcpy () from /lib64/libc.so.6 (gdb) n Single stepping until exit from function memcpy, which has no line number information. Process record doesn't support instruction 0xf0d at address 0x2aaaab4c4b4e. Process record: failed to record execution log.  Program received signal SIGABRT, Aborted. 0x00002aaaab4c4b4e in memcpy () from /lib64/libc.so.6 

Before I look at in in detail, I wonder if this feature is still buggy, or if I should start to record from the beginning.

Where this "record" error happens, just an object is created as a copy of other.

回答1:

This is because this insn is still not support by prec.

It is fixed now. You can try the gdb-cvs-head.



回答2:

Sounds like precord is still buggy.

Please make sure you are using the latest released GDB 7.1, and file a bug. Output from x/i 0x2aaaab4c4b4e will likely be helpful. So will be exact distribution and versions of GCC and libc.so.6



回答3:

AVX is not supported as of GDB 7.11.1

Maybe this is the same problem as mentioned at:

since your trace mentions memcpy, which uses AVX instructions in Ubuntu 16.04, but it is hard to be sure without a minimal example.

rr is an awesome working alternative: https://github.com/mozilla/rr Here is a minimal working example: Setting breakpoint in GDB where the function returns



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!