ソースのない共有オブジェクト ファイルがあります。特定の関数に入ったときに何が起こるかに興味があります。特定の状況 (利用可能な Wifi 接続がある場合) でこの関数に入ると、プログラムは特定の方法で反応します。別の状況 (接続が利用できない) では、別の方法で動作します。このチェックを回避するために共有オブジェクト ファイルにパッチを適用する目的で、外部状況 (Wifi 接続の存在) がテストされているプログラム内のポイントを特定しようとしています。
を使用するgdb
と、プログラムの実行を手で追うことができます。ただし、実行パスが異なるポイントを手で見つけるのは面倒です。gdb
実行中のマシン命令のシーケンス (およびオプションで、レジスタの内容などの状態) を保存し、両方の状況でシーケンスを比較して、外部条件がチェックされている時点をより簡単に判断する方法はありませんか? ?
関連するgdb record
機能のようですが、プログラムがARMで実行されており、このターゲットでは記録がサポートされていないため、これを使用できません。ただし、パフォーマンスはまったく重要ではないため、ハードウェア サポートの形式を探しているわけではありませんgdb
。でプログラム実行ni
。このようなものは存在しますか?