я начал пробовать отладку реверса gdb 7, после учебного руководства:
http://www.sourceware.org/gdb/wiki/ProcessRecord/Tutorial
и я думал, великий!
Затем я начал отлаживать реальную программу, которая дает ошибку в конце. Таким образом, я выполняю его с gdb, и я поместил точку останова незадолго до места, я думаю, что ошибка появляется. Затем я ввожу "запись" для запуска к recrd действиям для будущей отладки реверса. Но после некоторых шагов я добираюсь
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
Прежде чем я посмотрю на в подробно, интересно, является ли этой функцией все еще багги, или если я должен начать записывать с начала.
Где эта "рекордная" ошибка происходит, просто объект создается как копия другого.
Похоже, что прекорд
все еще не работает.
Убедитесь, что вы используете последнюю версию GDB 7.1, и сообщите об ошибке. Вывод из x / i 0x2aaaab4c4b4e
, вероятно, будет полезен. Так будет точный дистрибутив и версии GCC и libc.so.6
Это потому, что этот insn все еще не поддерживается Prec.
Теперь это исправлено. Вы можете попробовать gdb-cvs-head.