関数をトレースするために GDB 用の Python スクリプトを作成しようとしています。
アイデアは、アドレス位置にブレークポイントを設定し、プログラムを実行させてから、プログラムが壊れたときにファイルレジスタ、ベクトル、およびスタックにログを記録し、次の命令がどのアドレスになるかを調べ、その場所にブレークポイントを設定してリンスすることです繰り返します。
私はドキュメントを読み、レジスタ、ベクトル、およびメモリの場所を簡単にダンプできると確信しています。実際の問題は、次のブレークポイントを配置する場所を決定するために現在の命令の逆アセンブリを分析する必要があるため、次の命令の場所を見つけることです。
アップデート
使用せずに、stepi
またはnexti
デバッグしているターゲットがハードウェアブレークポイントでのみ機能するため、これらすべてを実行しています。私が知る限り、これらのコマンドはソフトウェアブレークポイントを使用して次の命令でブレークします
GDBにそのようなものはありますか?