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
- トレースバッファを見つけるのに必要なシンボルがシステムイメージに見つかりません。その他のメッセージは読めば分かるでしょう。
歴史
trpt ユーティリティは、 4.2BSD で登場しました。バグ
入出力されたデータも表示するべきですが、トレースレコードには記録されていません。出力フォーマットは非常に難解なので、このマニュアルに説明されているべきです。
December 11, 1993 | FreeBSD |