0

oprofileというラベルを付けるのではなく、カーネル内で何が起こっているかについての詳細情報を表示する必要があります/no-vmlinux

oprofileカーネル シンボルを提供できるようにするために、圧縮バージョンから入手extract_vmlinuxできるスクリプトを使用しました。/usr/src/linux-headers-3.9.7/scriptsvmlinuxvmlinuz

次にoperf、オプションで呼び出しました--vmlinux path_to_vmlinux。ただし、operf次のエラー メッセージが表示されます。

vmlinux 終了アドレスを取得できません 指定された vmlinux ファイル (/tmp/vmlinux) が有効ではないようです。圧縮されていないイメージ ファイルを使用していることを確認してください (例: vmlinux ではなく vmlinuz)。

のコードでこのエラー メッセージをたどることでoperf、呼び出し後に発生する可能性が最も高いことがわかりましたobjdump -t(オプション -t は、objdump のマンページによると、「ファイルのシンボル テーブル エントリを出力します。」)。objdump -t vmlinux"、次の出力が得られます。

vmlinux:     file format elf64-x86-64

SYMBOL TABLE:
no symbols

手伝っていただけませんか?

4

0 に答える 0