EN JA
TRPT(8)
TRPT(8) FreeBSD System Manager's Manual TRPT(8)

名称

trptプロトコルトレースの表示

書式

trpt [ -a][ -f][ -j][ -p hex-address][ -s][ -t][ system [ core]]

解説

trpt ユーティリティは、socket に“デバッグ情報の記録”を指示した時 ( setsockopt(2) を参照) に生成される、 TCP のトレースレコードの内容を表示します。オプションを指定しない場合には、 trpt は、システム中のすべてのトレースレコードを、 TCP コネクションのプロトコル制御ブロック (protorol control block; PCB) によってグループ化して表示します。

以下のオプションを使ってこの動作を変更することができます:

-a
通常の出力に加えて、記録された各パケットの送信元と宛先のアドレスを表示します。
-f
トレースが記録される毎にそれを表示します。ログの終りまで表示すると、しばらく次のレコードを待ちます。
-j
トレースレコードの存在する PCB (protocol control block) のアドレスの一覧を表示します。
-p
16 進数で指定されたアドレス hex-address にある PCB についてのトレースレコードのみを表示します。
-s
通常の出力に加えて、パケットのシーケンス情報の詳細を表示します。
-t
通常の出力に加えて、トレースの各時点でのすべてのタイマの値を表示します。

trpt は、以下のようにして使ってみて下さい。問題となっているコネクションを切り分けて、それに関わる socket に対してデバッグ機能を有効にします。 netstat(1) コマンドの -A オプションを使用して、その socket の PCB のアドレスを見つけます。そして、 -p オプションと PCB アドレスを引数にして trpt を実行します。 -f オプションを使うと、一度見つけたトレースログを追い続けることができます。デバッグオプションを使っている socket がたくさんある場合には、問題になっている socket にトレースレコードがあるかどうかを -j オプションによって確かめる事ができます。

デフォルト以外のカーネルやメモリイメージをデバッグしたいときには、最後の 2 つの引数で指定する事ができます。

関連ファイル

/boot/kernel/kernel
/dev/kmem

診断

no namelist
トレースバッファを見つけるのに必要なシンボルがシステムイメージに見つかりません。その他のメッセージは読めば分かるでしょう。

関連項目

netstat(1), setsockopt(2)

歴史

trpt ユーティリティは、 4.2BSD で登場しました。

バグ

入出力されたデータも表示するべきですが、トレースレコードには記録されていません。

出力フォーマットは非常に難解なので、このマニュアルに説明されているべきです。

December 11, 1993 FreeBSD