2.5 デバッグのコマンドラインオプション

最後に、m4スクリプトのデバッグを補助するオプションがいくつかあります。

-d[flags]
--debug[=flags]

フラグflagsに従ってデバッグレベルを設定します。デバッグレベルは、デバッグ機能が提示する情報の形式と量を制御します。flagsの形式と意味の詳細は、デバッグ出力の制御を参照してください。省略した場合、flagsの既定値は「aeq」です。

--debugfile[=file]
-o file
--error-output=file

dumpdefの出力、デバッグメッセージ、トレース出力を、指定されたfileへリダイレクトします。警告、エラーメッセージ、errprintの出力は、引き続き標準エラー出力に出ます。これらのオプションを使わない場合、またはfileを指定しない場合(--debugfileの場合だけ可能)、デバッグ出力は標準エラー出力へ送られます。fileが空文字列の場合、デバッグ出力は破棄されます。詳しくはデバッグ出力の保存を参照してください。--debugfileは複数回指定でき、ファイル名に対する指定順序には意味があります。-oと--error-outputという表記は誤解を招き、他のGNUツールとも一貫していません。現時点では、通知せずに--debugfileの同義語として受け付け、1回だけ認識しますが、将来のM4では、これらを使うと警告を出す予定です。

-l num
--arglength=num

マクロのトレースが生成する出力の大きさを、トレース1行につきnum文字までに制限します。指定しない場合、または0の場合は無制限です。詳しくはデバッグ出力の制御を参照してください。

-t name
--trace=name

マクロnameについて、それが定義されている時点でのトレースを有効にします。このオプションの指定時にnameが定義されている必要はありません。このオプションは複数回指定でき、ファイル名に対する指定順序には意味があります。詳しくはマクロ呼び出しのトレースを参照してください。