Add Debugging for Detail
In
rule-testing mode the
-d command (Section 16.1) can be
used to turn debugging output on and off. Prior to V8.7
sendmail, the -d could be
specified only on the command line. Beginning with V8.7
sendmail, the -d can also be
specified in rule-testing mode. We illustrate the latter technique
here.
Debugging output can reveal in great detail how individual rules are
being handled. A debugging category and level of
21.12 (-d21.1), for example,
causes sendmail to print the LHS of each rule as
it is tried. To illustrate, consider the following (highly
simplified) configuration-file rule set:
V10 STest R @ $#local $:$n handle <> form R $* < @ $+ > $* $#$M $@$R $:$1<@$2>$3 user@some.where R $+ $#local $:$1 local names
Normal output that is produced when a rule set name and an address are entered at the > prompt looks like this:
> Test george
Test input: george
Test returns: $# local $: georgeBut if we turn on debugging using the -d
rule-testing command:
> -d21.12the output that is produced when the same rule set number and address are entered is more verbose than it was before:
> Test george
Test input: george
-----trying rule: @
----- rule fails
-----trying rule: $* < @ $+ > $*
----- rule fails
-----trying rule: $+
-----rule matches: $# local $: $1
rewritten as: $# local $: george
Test returns: $# local $: georgeObserve that the first rule in the Test rule set
(the lone @) does not match
george in the workspace. Therefore, that rule
fails and is skipped. Then the ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access