EN JA
KDUMP(1)
KDUMP(1) FreeBSD General Commands Manual KDUMP(1)

名称

kdumpカーネルのトレースデータを表示する

書式

kdump [ -dEnlHRsTA][ -f trfile][ -m maxdata][ -p pid][ -t trstr]

解説

kdump コマンドは、人間に読み込み可能な形式で ktrace(1) で作成されたカーネルトレースファイルを表示します。デフォルトで、カレントディレクトリのファイル ktrace.out が表示されます。

オプションは、次の通りです:

-d
すべての数値を 10 進数で表示します。
-E
経過したタイムスタンプ (トレースの始めからの時間) を表示します。
-f trfile
ktrace.out の代わりに指定されたファイルを表示します。
-H
利用可能であるなら、各トレース記録でスレッドのスレッド ID (tid) をリストします。スレッド ID が利用可能でないなら、0 が印刷 (表示) されます。
-l
トレースファイルを繰り返し読み込みます、いったんファイルの終りに到達すると、それ以上のデータが書き込まれるのを待ちます。
-m maxdata
I/O をデコードするとき、多くても maxdata バイトを表示します。
-n
特別の変換を抑制します。通常、 kdump は、多くのシステムコールをより人間に読み込み可能な形式にデコードすることを試みます。例えば、 ioctl(2) 値は、マクロ名に置き換えられ、 errno 値は、 strerror(3) 文字列に置き換えられます。この機能を抑制することは、より一貫した出力形式を生成し、処理を促進することに容易に従います。
-p pid
プロセスまたはスレッド pid に対応するトレースイベントのみを表示します。同一のトレースファイルに記録された複数プロセスまたはスレッドがあるとき、役に立ちます。
-R
(前のエントリ以来の時間である) 相対的なタイムスタンプを表示します。
-r
STRU レコードをデコードするとき、数値の代わりにシンボルで、 UID、GID、日付など、のような構造体メンバを表示します。
-s
I/O データの表示を抑制します。
-T
(UNIX のエポック時刻以来の秒数である) 各エントリのための絶対的なタイムスタンプを表示します。
-A
トレースされたプロセスの ABI の記述を表示します。
-t trstr
ktrace(1)-t オプションを参照してください。

kdump の出力形式は、いくつかのフィールドに置かれた行です。下記の例は、次のコマンドによって生成された kdump のセクションを示しています:

?> ktrace echo "ktrace" 
 
?> kdump 
 
 85045 echo     CALL  writev(0x1,0x804b030,0x2) 
 85045 echo     GIO   fd 1 wrote 7 bytes 
       "ktrace 
       " 
 85045 echo     RET   writev 7

最初のフィールドは、トレースされているプロセスの PID です。 2 番目のフィールドは、トレースされているプログラムの名前です。 3 番目のフィールドは、カーネルがプロセスに代わって実行した操作です。スレッド ID が印刷 (表示) されているなら、追加のスレッド ID カラムが、PID フィールドとプログラム名フールドの出力の間に追加されます。

上記の最初の行で、カーネルは、プロセスに代わって writev(2) システムコールを実行するので、これは、 CALL 操作です。 4 番目のフィールドは、その引数を含めて実行されたシステムコールを示しています。 writev(2) システムコールは、ファイル記述子、この場合は、1 または標準出力、次に書き込む iovector へのポインタと書き込まれることになっている iovector の数を取ります。 2 番目の行で、操作は、一般的な I/O のための GIO で、ファイル記述子 1 が、それに 7 バイトを書き込んだことがわかります。これに、文字列“ ktrace”にキャリッジリターンと改行を付けて、書き込まれた 7 バイトが続きます。最後の行は、どのシステムコールから返り、プロセスが受け取った値を返し、カーネルから返ったことを示す、 RET 操作です。 7 バイトが writev(2) システムコールによって書き込まれるので、7 が返り値です。

指定できる操作は、次の通りです:

名前 操作 4 番目のフィールド
CALL システムコールに入る システムコール名と引数
RET システムコールから返る システムコール名と返り値
NAMI 検索するファイル名 ファイルへのパス
GIO 一般的 I/O fd, read/write, バイトの数
PSIG シグナル シグナル名, ハンドラ, マスク, コード
CSW コンテキストスイッチ stop/resume user/kernel wmesg
USER ユーザプロセスからのデータ データ
STRU 様々なシステムコール 構造体
SCTL sysctl(3) 要求 MIB 名
PFLT ページフォルトに入る フォルトアドレスとタイプ
PRET ページフォルトから返る フォルト結果

関連項目

ktrace(1)

歴史

kdump コマンドは、 4.4BSD で登場しました。
June 4, 2012 FreeBSD