9

チュートリアルに従って、gdb 7で逆デバッグを試み始めました:

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

そして私は、素晴らしいと思いました!

次に、最後にエラーが発生する実際のプログラムのデバッグを開始しました。そこで、gdb で実行し、エラーが表示されると思われる場所の直前にブレークポイントを置きます。次に、将来のリバース デバッグのためにアクションを記録し始めるために、「record」と入力します。しかし、いくつかの手順の後、私は得る

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

詳細に見る前に、この機能にはまだバグがあるのでしょうか、それとも最初から記録を開始する必要があるのでしょうか。

この「レコード」エラーが発生した場合、オブジェクトは他のオブジェクトのコピーとして作成されます。

4

3 に答える 3

1

これは、この insn がまだ prec によってサポートされていないためです。

現在修正されています。gdb-cvs-head を試すことができます。

于 2010-06-18T07:53:58.683 に答える
0

precordまだバグがあるようですね。

最新リリースの GDB 7.1 を使用していることを確認し、バグを報告してください。からの出力x/i 0x2aaaab4c4b4eが役立つ可能性があります。したがって、GCC と libc.so.6 の正確なディストリビューションとバージョンになります。

于 2010-03-27T20:04:19.313 に答える