### 3.3 Debugging ¶

`Mailutils` debugging output is controlled by a set of levels, each of which can be set independently of others. Each debug level consists of a category name, which identifies the part of `Mailutils` for which additional debugging is desired, and a level number, which tells `Mailutils` how verbose should its output be.

Valid debug levels are:

`error`

  Displays error conditions which are normally not reported, but passed to the caller layers for handling.

`trace0` through `trace9`

  Ten levels of verbosity, ‘`trace0`’ producing less output, ‘`trace9`’ producing the maximum amount of output.

`prot`

  Displays network protocol interaction, where applicable.

Implementation and applicability of each level differs between various categories. The full list of categories is available in file `libmailutils/diag/debcat` in the Mailutils source tree. Most useful categories and levels implemented for them are discussed later in this article.