16.2 The Behavior of -d
When sendmail is given the -d
debugging switch, it internally performs three distinct actions.
First, if the category.level is omitted,
sendmail presets all categories, 0-99
inclusively, to a level of 1. It then sets the categories in the
command line (if any) to the corresponding levels specified (or to 1
if no level is specified). Finally, it calls
setbuf(3) to place the standard output in
unbuffered mode.
Setting categories 0-99 to a level of 1 has two side effects:
Usually, certain errors are not reported because they are tolerable,
but a level of 1 generally causes those otherwise missing error
messages to be printed. For example, if the
aliases file is missing,
sendmail does not perform aliasing but is silent
about it. A category 27 level of 1, on the other hand, causes
sendmail to print the reason it could not open
the aliases file.
Because sendmail is usually silent about what it
is doing, any debugging at all causes it to print a great deal of
information about what it is trying to do and what it has done.
Note, however, that debugging should generally not be used in
combination with any -bd, -bD,
or -bs command-line switch. Debugging output can
interfere with normal SMTP transactions, and thus can corrupt the
transmission or receipt of SMTP email. Use these debugging switches
only when you are absolutely certain that no actual mail will be
impacted (as might be the case on a machine that normally does not
receive mail).
|