strace コマンド

目的

STREAMS トレース・メッセージを出力します。

構文

ひも [ 中間 シド レベル ] ... 

説明

strace コマンドは、パラメーターを指定しないと、すべてのドライバーおよびモジュールからの STREAMS イベント・トレース・メッセージをその標準出力に書き出します。 これらのメッセージは、STREAMS ログ・ドライバーから取得します。 パラメーターを指定する場合、トリプレットでなければなりません。 トリプレットはそれぞれ、トレースしているメッセージがそこから受け取ることになる指定モジュールまたはドライバー、サブ ID (通常マイナー・デバイスを示す)、および指定レベル以下の優先順位を示します。 このallその属性に制限がないことを示すために, どのメンバーにもトークンを使用することができます。

パラメーター

項目 説明
MID STREAMS モジュール ID 番号を指定します。
sid サブ ID 番号を指定します。
レベル トレース優先順位を指定します。

出力フォーマット

各トレース・メッセージ出力のフォーマットは以下のとおりです。

<seq> <time> <ticks> <level> <flags> <mid> <sid> <text>
項目 説明
<seq> トレース・シーケンス番号。
<time> hh:mm:ss 形式のメッセージの時刻。
<ticks> システムが始動してからのマシン・ティックで表したメッセージの時刻。
<level> トレースの優先順位。
<flags> 以下のうちのいずれか 1 つの値です。
E
メッセージも同様にエラー・ログにあります。
F
致命的エラーを示します。
N
メールをシステム管理者に送信しました。
<mid> ソースのモジュール ID 番号。
<sid> ソースのサブ ID 番号。
<text> トレース・メッセージのフォーマットされたテキスト。

マルチプロセッサー・システムの場合: <text> は、以下の 2 つの部分で構成されます。

  • メッセージの所有者が送信したプロセッサーの番号。
  • フォーマットされたテキスト自体。

strace コマンドは、いったん開始すると、ユーザーが終了するまで継続して実行されます。

注: パフォーマンス上の考慮事項から、STREAMS ログ・ドライバーを開くことができる strace コマンドは一度に 1 つのみです。 ログ・ドライバーは、コマンドの呼び出し時に指定されたトリプレットのリストを持っていて、このリストと考えられる各トレース・メッセージを比較して、このリストをフォーマットして strace プロセスに送信するべきかどうかを決定します。 このため、トリプレットのリストが長いと、STREAMS の稼働効率全体にさらに大きな影響を与えます。 strace コマンドの実行は、モジュールやドライバーが strace プロセスの送られるトレース・メッセージを生成するタイミングに最も大きな影響を与えます。 strace プロセスが処理できる速度より速くトレース・メッセージが生成されると、そのメッセージのいくつかは失われてしまいます。 この最後のケースでは、トレース・メッセージ出力のシーケンス番号を調べることによって判別できます。

  1. モジュール ID が以下のモジュールまたはドライバーからすべてのトレース・メッセージを出力します。41次のように入力します。
    strace 41 all all
  2. これらのトレース・メッセージをドライバーまたはモジュール ID から出力するには、以下のようにします。41サブIDあり0,1、または2:
    strace 41 0 1 41 1 1 41 2 0
    サブ ID からのメッセージ0および1トレース・レベルが 1 以下でなければなりません。 サブ ID からのもの2トレース・レベルが 0 でなければなりません。