[ トップ | | 一つ前 | | マップ | 索引 ]

Readme for analog3.90beta2

デバッグ

ここではうまく動作しないと感じたときに、analog をデバッグするのを助けるコマンドについて述べます。後の方で、analog が出力する全ての エラーと注意、及びその意味が書かれた別の章があり、バグの報告の仕方 を述べた別章もあります。

最初に、以前触れた全ての analog 変数の現在の設定を、一覧するためのオプションを思い出してください。この一覧を得るためには、コマンドラインに単に -settings と付けるか、他のコマンドと一緒に PRINTVARS ON を環境設定ファイルの一つに書くけば良い。すると analog は、通常の様に起動する代わりに、設定の一覧を出力してくれる。


analog は動作しながら、どの程度のデバッグの情報と注意の情報を出力するかを制御するコマンドがある。初期設定で、全ての注意を得てデバッグはしないが、DEBUGWARNINGS のコマンドを使ってこれを変えることができる。もし以下の様に書くと、
DEBUG ON
全てのデバッグ情報が得られる。(そして、DEBUG OFF は全てオフにする。)ある範囲のデバッグ情報のみを得ることもできる。その範囲とは、以下で与えられる。
C
ログファイル中の全ての異常行の一覧
D
DNS 参照の情報
F
ファイルのオープンとクローズの情報
S
各ログファイルの終了時の全体概要
U
未知のドメイン名の一覧
V
ドメイン名を除いたホスト名の一覧 (即ち、ドットを除いた名称)
従って例えば、以下のコマンドは、
DEBUG FS
"ファイルのオープンとクローズの情報" を与え、"各ログファイルの終了時の全体概要" も与えるが、他のどんなデバッグもしない。デバッグ情報の各行は、コード文字で表されている。また以下の指定もできる。
DEBUG +CD
この指定は、既にあるデバッグの範囲に CD を付け加え、
DEBUG -CD
は、これらの2個の種類を取り除く。

このコマンドに対するコマンドラインでの省略形がある。+VON に対して)、-VOFF に対して)、+VFSFS のオプションを正確に選択するために)、+V+FS (これらのオプションを追加するために)、そして +V-FS (これらを取り除くために)を使用してください。

C による出力は、2行にわたっている。最初の行は、異常を起こしたログファイルの行を示している。2行目は、analog が見つけた問題の行を示している。(この行は、いつもではないが通常、実際の問題がある場所である。)実際、出力の各 "行" は、画面上では1行以上にわたっており、もしあなたがログファイルの異常行を見つけようとするなら、それを注意深く考慮しなければならない。


WARNINGS コマンドは、上記と同じように振舞う。WARNINGS ONWARNINGS OFF と同時に、以下のような範囲の注意がある。
C
誤った環境設定
D
疑わしい環境設定
E
ERRFILE コマンドを使用 (以下を見よ)
F
ファイルが見つからないか壊れている
L
ログファイルに明らかに問題あり
M
ログファイルに問題がある可能性あり
R
空のレポートの出力取り消し
注意の出力は、多分問題の無いものから通常重大な問題である場合の範囲にわたる。種々の分類についての詳細は、エラーと注意 の章を見よ。もう一度繰り返すが、注意の出力は、それらのコード文字と共に印字される。

WARNINGS には、コマンドラインで実行するやり方があり、+q-q+q<options>+q+<options>、または +q-<options> のように書きます。


analog をデバッグするのに便利な、もう一つのコマンドがあります。
PROGRESSFREQ 20000  # 例
こう書くと、analog は、ログファイルを20,000行読むたびに小さなメッセージを出力します。これは、プログラムが実際に止まってしまったのか、あるいは(もっとありうることとして)何らかの理由(DNS lookup を使っているため)でのろくなってしまっただけであるかを判断するのに便利である。
まず最初に、これら全てのメッセージは 標準出力 、即ち画面に出力される。しかし以下のコマンドにより、出力先を変更できる。
ERRFILE newfile
もしこれを行うと、analog は、あなたが見失わないようにメッセージの出力先を変えるという注意をする。標準のエラーに戻すには、以下を使う。
ERRFILE stderr
ERRFILE コマンドは、そのファイルの以前の内容を削除する。(従って、同じ ERRFILE コマンドを2回使わないようにしなさい。さもないと、メッセージを失うでしょう!)
ERRLINELENGTH と呼ばれるコマンドは、これらのメッセージがあなたが望む画面幅になるように、analog に伝える。特別な場合として、
ERRLINELENGTH 0
は、無限の画面幅を指定する。
もう一つ、analog の環境設定コマンドとコマンドラインの引数についての章がある。しかしそれはやや長い、フォームインターフェース についての章である。(web ページからオプションを選択して、analog を走らせる方法である。)あなたは、出力結果の意味 の章に直ぐに行きたくなるかもしれません。
Stephen Turner
analog についての質問は analog-help の メーリングリスト を読んでください。

[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]