Analog 5.91beta1: デバッグまずは、すでに説明してきた Analog の現在の設定項目をすべて表示させるオプションを思い出してください。これを行なうには、コマンドラインで -settings と入力するか、設定ファイルで、他のコマンドと同様にして SETTINGS ON と記述します。これにより、Analog は通常の処理を行なう代わりに、現在の設定の一覧を出力します。
DEBUG ONと記述することで、すべてのデバッグ出力が有効になります (なお DEBUG OFF でこの出力を抑止できます)。またデバッグ出力の特定のカテゴリだけを出力させることもできます。カテゴリには以下のようなものがあります。
DEBUG FSファイルのオープンとクローズに関する情報と各ログファイルの概要について出力が行なわれますが、その他のデバッグ情報は出力されません。各々のデバッグ情報のカテゴリはコード文字で表されます。なお以下のように記述することで
DEBUG +CDC と D のカテゴリを現在のデバッグの設定に追加することや、
DEBUG -CDと記述することで、上記の2つのカテゴリを現在の設定から削除するといったことも可能です。
これらのコマンドには、コマンドラインオプションも用意されています。 +V (ON)、-V (OFF) に加え、 +VFS (FSのカテゴリのみを有効にします)、+V+FS (これらのカテゴリを追加します)、 +V-FS (これらのオプションを無効にします)といった指定も可能です。
C による情報は、2行にわたって出力されます。最初の行は異常になっているログファイルの行全体を示します。2行目は行の中のどこで Analog が問題に気づいたかを示します(訳注: 1行目の問題箇所の下に「*」がつきます)。 (この行は、必ずではないものの、大半の場合問題がある場所を示しています) 実際、出力中の各「行」は画面上では数行にわたっている場合もあるため、ログファイルの行のどこが異常になっているかを確認するには、注意深くみていく必要があり大変です。
警告の範囲はおそらく無害なものからかなり重大なものまで多岐にわたります。そのため、すべての警告出力を無効にするのは、重要な情報が出力されないことにもなりますので、あまりよい案とはいえないでしょう。特定の警告だけを無効にしたい場合は、そのカテゴリの警告だけを抑止してください。
WARNINGS コマンドにも、 +q、-q、kbd>+q<options>、+q+<options>、+q-<options>というコマンドラインオプションが用意されています。 (文法については、+V command 前述した +Vコマンドと同じです)
ERRFILE newfileこのコマンドを記述すると、Analog は、出力先の変更情報を見失わないようにメッセージがリダイレクトされているという警告を出力します。標準エラー出力に戻すには、以下のコマンド
ERRFILE stderrを使います。 kbd>ERRFILE コマンドで指定されたファイルに元々書き込まれていた内容は消去されます。(そのため、同じ ERRFILE コマンドを何度も記述しないでください。さもないと、せっかくのメッセージが失われてしまいます。) ERRFILE コマンドで指定されたログファイル名にディレクトリ名が含まれていない場合、 Analog は、プログラムのコンパイル時に指定された特定の場所にファイルを書き込もうとします。例えば、 Windows 版の場合、これは Analog の実行ファイルと同じフォルダになります。
ERRLINELENGTH 0とした場合、画面の幅は無制限になります。
PROGRESSFREQ 20000 # sayにより、Analog はログファイルから 20000行読むたびに簡単にメッセージを生成します。(このメッセージは画面とERRFILEコマンドで指定された場所とに出力されます) これを元に、プログラムが本当に停止してしまったのか、あるいは何らかの理由(DNS検索など)で動きが遅くなっているのかを判断することができます。
Stephen Turner
Analog についての質問はanalog-help メーリングリスト をお使いください。 (訳注: 日本では analog-jp メーリングリスト をご利用ください)