我开始尝试使用 gdb 7 进行反向调试,遵循教程:
http://www.sourceware.org/gdb/wiki/ProcessRecord/Tutorial
我想,太好了!
然后我开始调试一个最终给出错误的真实程序。所以我用 gdb 运行它,并在我认为错误出现的位置之前放置了一个断点。然后我键入“记录”以开始记录操作以供将来进行反向调试。但是经过一些步骤后,我得到了
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
在我详细看之前,我想知道这个功能是否仍然存在错误,或者我是否应该从头开始录制。
发生这种“记录”错误的地方,只是创建了一个对象作为其他对象的副本。