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 つの引数で指定する事ができます。