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

Analog 4.16: デバッグ


ここではうまく動作しないと感じたときに、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 コマンドは、DEBUG コマンドと同じように振舞う(上記を見よ)。初期設定では、全ての警告はオンになっている。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 を走らせる方法である。)あなたは、出力結果の意味 の章に直ぐに行きたくなるかもしれません。
analog のホームページ

Stephen Turner
2001年2月13日

analog についての質問は analog-help メーリングリスト をお使いください。

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