次のオプションを設定して自分のカーネルを構築しています。vmlinuxからdebuginfoパッケージをインストールする方法
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_INFO=y
このように、生成されたvmlinuxファイルには、すべての必要なdebuginfoがあると仮定します。
私はそのカーネルをマシンにインストールし、vmlinuxファイルを/ boot /の下に置きました。 しかし、perfアノテーションを実行しようとすると、アセンブリコードに沿ってソースコードが表示されません。アセンブリコードとc関数名だけがソースコード全体ではないことを示しています(私は注釈中に "s"をトグルしようとしました)。
ここに私のperfコマンドがあります。
#perf record -g -a -e cycles:k sleep 5
#perf report -f -g -s symbol
#perf annotate -f -s <kernel function name> > annotate_<kernel_function>.txt
私はここで何が欠けていますか? debuginfoパッケージを個別にインストールする必要はありますか?
よろしく、 Atish
あなたは何のディストリビューションを実行している:
は、リンクを参照してください? – fluter
Fedora 23と最新のカーネルソースコードからカーネルを構築しています。 – alex
debuginfoパッケージは同じバージョンのカーネルにバインドされているので、最新のソースからコンパイルしたカーネルをデバッグする場合は、repoではなく、このコンパイルでビルドされたdebuginfoパッケージをインストールする必要があります。 – fluter