GDB 7.0以降、逆デバッグがサポートされています。
コアダンプが生成されたときに、リバースデバッグコマンドを使用できますか?
どうやってやるの?
GDB 7.0以降、逆デバッグがサポートされています。
コアダンプが生成されたときに、リバースデバッグコマンドを使用できますか?
どうやってやるの?
できません。コア ファイルは、ある時点でのプログラムの状態のスナップショットです。その状態で後方に移動するには、プログラム状態の以前のスナップショットが必要です。GDB は、ライブ プログラムをデバッグしているときにこの履歴を保持することでこれを行うことができますが、この情報はコア ファイルには存在しません。
GDB でリバース デバッグがどのように機能するかについての完全な説明については、この質問を参照してください。
逆実行の詳細については、http://jakob.engbloms.se/archives/1547を参照してください。基本的に、過去に戻るには過去を見ている必要があり、コンピュータープログラムを意味的に元に戻すことはできません。とはいえ、gdb よりも優れたリバース システムがあれば、プログラム クラッシュやシステム クラッシュから抜け出す方法を実際にリバース実行できます。失敗したケースを実行するときにリバーシブル デバッガーを適用するだけです。