Debugging switches

Table 1 shows a complete list of debugging switches in sendmail. Some of these switches create long and complex output. Each switch that is especially useful for debugging mail problems is marked "X" in the third column.

Table 1. Debugging switches by category
Category Bat book reference Useful for mail problems Description
-d0.1 16.6.1 X Print version, compilation, and interface information
-d0.4 16.6.2 X Our name and aliases
-d0.10 16.6.3   Operating System defines
-d0.12 16.6.4 X Print library (libsm) defines
-d0.13 16.6.5 X FFR Defines: _FFR_MILTER_PERDAEMON
-d0.22 16.6.6   Dump delivery agents
-d0.40 16.6.7   Print network address of each interface
-d0.44 16.6.8   End with finis()
-d2.9 16.6.9   Show file descriptors with dumpfd()
-d1.1 16.6.10   Trace enoughspace()
-d1.5 16.6.11   Show failed mail
-d2.1 16.6.12   DNS name resolution
-d2.9 16.6.13   Call to getcanonname(3)
-d3.1 16.6.14   Trace dropped local hostnames
-d3.5 16.6.15   Hostname being tried in getcanonname(3)
-d3.15 16.6.16   Yes/no response to -d8.5
-d3.20 16.6.17   Resolver debugging
-d3.30 16.6.18   Trace delivery
-d11.2 16.6.19 X Show the user-id running as during delivery
-d12.1 16.6.20   Show mapping of relative host
-d13.1 16.6.21   Show delivery
-d20.1 16.6.22   Show resolving delivery agent:parseaddr()
-d21.1 16.6.23 X Trace rewriting rules
-d21.2 16.6.24   Trace $&macros
-d22.1 16.6.25   Trace tokenizing an address : prescan()
-d22.11 16.6.26   Show address before prescan
-d22.12 16.6.27   Show address after prescan
-d25.1 16.6.28   Trace "sendlist"
-d26.1 16.6.29   Trace recipient queueing
-d27.1 16.6.30 X Trace aliasing
-d27.2 16.6.31 X Include file, self-reference, error on home
-d27.3 16.6.32 X Forwarding path and alias wait
-d27.4 16.6.33 X Print not safe
-d27.5 16.6.34 X Trace aliasing with printaddr[]
-d27.8 16.6.35 X Show setting up an alias map
-d27.9 16.6.36   Show user-id/group-id changes with:Include:reads
-d28.1 16.6.37   Trace user database transactions
-d29.1 16.6.38   Special rewrite of local recipient
-d29.4 16.6.39   Trace fuzzy matching
-d31.2 16.6.40   Trace processing of headers
-d34.1 16.6.41   Watch header assembly for output
-d34.11 16.6.42   Trace header generation and skipping
-d35.9 16.6.43   Macro values defined
-d37.1 16.6.44 X Trace settings of options
-d37.8 16.6.45 X Trace adding of words to a class
-d38.2 16.6.46   Show database map opens and failures
-d38.3 16.6.47 X Show passes
-d38.4 16.6.48 X Show result of database map open
-d38.9 16.6.49   Trace database map closing and appends
-d38.10 16.6.50   Trace NIS search for @:@
-d38.12 16.6.51   Trace database map stores
-d38.19 16.6.52   Trace switched map finds
-d38.20 16.6.53   Trace database map lookups
-d41.1 16.6.54   Trace queue ordering
-d44.4 16.6.55   Trace safefile()
-d44.5 16.6.56   Trace writable()
-d48.2 16.6.57   Trace calls to the check_rules set
-d49.1 16.6.58   Trace checkcompat()
-d52.1 16.6.59   Show disconnect from controlling TTY
-d52.100 16.6.60   Prevent disconnect from controlling TTY
-d60.1 16.6.61   Trace database map lookups inside rewrite()
-d99.100 16.6.62   Prevent backgrounding including the daemon
-d96.9 NA X Trace SSL (gsk_xxx) calls