0
私はperfのソースコードを読んでいて、どのように意味するかを試してみるperf record
は、 (例えば、call test
の仮想アドレス、perf report
の注釈で監視されているアセンブリコード)をトリガーするターゲットプロセスの命令。そして、perf処理を実行してカウンタをトリガする命令の仮想アドレスを格納するためにperfが使用するデータ構造は何ですか?どのようにperfレコードがターゲットプロセスの命令の仮想メモリアドレスを取得し、どのデータ構造体がそれを格納するためにperfを使用するか
どのレベルで答えが欲しいですか? 'perf record'ユーザランドツール、カーネルの' perf_event_open'実装に興味がありますか? – Zulan
ハードウェアカウンタを起動する命令の仮想アドレスを取得して印刷したい。特に、TSXを中止させる命令があり、パワフルな単純イベント「tx-abort」はハードウェアカウンタによってカウントされます。 'perf report'は、' perf annotation'でintructionを見ることができます。だから、 'perfレコード 'を実行するとき、そのデータ構造がその命令の仮想アドレスを記憶することを知りたい。あるいは、perf_event_openがこれをどのように達成できるか知っていますか? – Sam
分析を完了させたいだけですか?次に 'perf record' /' perfスクリプト 'を使い、そのマンページを読むべきです。または、特定のツールを作成したいですか?それでなんで? 'perf_event_open'に基づくこの新しいツールは、' perfレコード 'はできませんか? – Zulan