Previous: , Up: Debugging   [Contents][Index]


7.4 Saving debugging output

Debug and tracing output can be redirected to files using either the --debugfile option to m4 (see Invoking m4), or with the builtin macro debugfile:

Builtin: debugfile ([file])

Sends all further debug and trace output to file, opened in append mode. If file is the empty string, debug and trace output are discarded. If debugfile is called without any arguments, debug and trace output are sent to standard error. This does not affect warnings, error messages, or errprint output, which are always sent to standard error. If file cannot be opened, the current debug file is unchanged, and an error is issued.

The expansion of debugfile is void.

$ m4 -d
traceon(`divnum')
⇒
divnum(`extra')
error→m4:stdin:2: Warning: excess arguments to builtin `divnum' ignored
error→m4trace: -1- divnum(`extra') -> `0'
⇒0
debugfile()
⇒
divnum(`extra')
error→m4:stdin:4: Warning: excess arguments to builtin `divnum' ignored
⇒0
debugfile
⇒
divnum
error→m4trace: -1- divnum -> `0'
⇒0