4

私はしばらくの間、Linuxトレースツール(Lttng、 http ://lttng.org/)で遊んでいます。現在、Lttngプラグインを備えたEclipseを使用してトレースを解釈しています。このツールを使用すると、システムコール、コンテキストスイッチに関連するログを取得できましたが、周辺機器によって発生した割り込みなど、特定の場所で発生する特定のイベントを追跡する方法が見つかりませんでした。また、動的トレースのためにKProbesで手を試しましたが、無駄でした。どんな提案/ガイダンスも役に立ち、高く評価されます。

4

1 に答える 1

3

インストルメントする関数がわかっている場合は、「-function」lttngオプションを試して、特定の関数の開始/終了をインストルメントすることをお勧めします。「--probe」を使用すると、特定のシンボルとオフセット、または特定のアドレスにブレークポイントを設定できます。詳細については、lttng(1)のマンページを参照してください。

目標を達成するもう1つの方法は、IRQエントリを対象とするトレースポイントを使用することです。lttng list -kを使用してカーネルトレースポイントを一覧表示してから、特にirqエントリトレースポイントを有効にすることができます。次に、たとえばgrepを使用して、トレース内で探している適切なIRQ番号を見つける必要があります。lttng 2.1の時点で、「grep」アプローチは、イベントコンテンツ(フィールドのコンテンツ)でのフィルタリングを可能にする唯一のアプローチです。近い将来、フィルターバイトコードインタープリターをLTTngユーザースペーストレーサー(UST)からlttngカーネルトレーサー(lttng-modules)に移植する予定です。

よろしくお願いします、

マシュー

于 2013-01-30T14:18:05.903 に答える