ARMボード上の古いバージョンのカーネルでperfレコードを実行しています。カーネルのバージョンは3.18.21-rt19です古いperfバージョンのレコードで新しいperfツールのフロントエンドを使用する方法
ボードのperfバージョンも同様にperfバージョン3.18.21です。
このperfでレポート機能を記録して使用することはできますが、このバージョンのレポートのTUIはかなりひどい/存在しません。拡張可能なセクション(グラフモード)の代わりに、それは非常に扱いにくい機能の巨大なスクロール可能なリストとして表示されます。また何らかの理由で私のC++の関数名は解読されないので、それを読むのは本当に難しいです。
それはいくつかの方法のいずれかすることが可能である:
エクスポート新しいカーネルを実行しているx86マシンにこの古いARMカーネルとPERFの新しいバージョンで作成しperf.dataとのPERFレポートを使用前記機械は、私がそれをやろうとすると(私はカーネル4.4.0-31-一般的なperfバージョン4.4.13を実行しています)、ARMマシンでperfレポートを実行するとシンボルがうまく表示されますが(C++の名前はまだ残っています)。これらのカーネルバージョン間でperf.dataフォーマットが変更されたか、またはx86バージョンがARMマシンによって生成されたデータを読み取ることができないだけであるかどうかはわかりません。
デ・マングリングを行い、新しいより良いTUIを公開する私の古いカーネルのために、より新しいperfバージョン(少なくともフロントエンド)を構築してください。
ARMボードのカーネルバージョンを変更することは、私にとってはオプションではありません。
新しいユーザー空間ツールを構築することは可能です。あなたのperfはおそらくTUIなしで構築されました。 perf.dataを別のマシンにエクスポートするには、['perf archive'コマンド](http://man7.org/linux/man-pages/man1/perf-archive.1.html)を使用して、すべてのシンボル情報をコピーしてください。 'perf.data'(または、' perf record'が完全なobejct/functionsマップではなく、命令アドレスしか持っていないときに、ルートfsまたはフルパスのフルイメージからファイルをコピーしようとします。 – osgx