Debugging output

From Net-SNMP Wiki
Revision as of 17:57, 3 October 2013 by Wes (Talk | contribs) (Configuration files: missing ))

Jump to: navigation, search

Net-SNMP applications and the agent support run-time selectable debugging output. The -D flag can be used to select tokens to display at runtime with a comma separated list. For example -Dtls,ssl,snmpd will display every debugging statement registered with the prefixes of "tls", "ssl" and "snmpd". This will include longer prefixes too such as "snmpd/main" and "sslctx_client" for example.


Command line options

Options for using -D for DEBUG output

-D token[,token[,token]...]

To see every possible output use

-D all

The token are not predefined but defined through usage.

DEBUGMSG(( token, format, ...))

To find all existing tokens try

cd net-snmp-<Version>
find . -name "*.c" | xargs grep "DEBUGMSG.*\"" | sed 's/^.*((//;s/,.*$//' | sort -u | grep "^\""

for version 5.4.2.1 this returns 1589 tokens.

Some of these tokens will be found but not be used because they are inside a multiline comment.

debug_tokens_5.4.2.1

Configuration files

Note that if you want to turn on debugging via the config file, but *only* for the agent (rather than all SNMP commands), then you'd need a block something like

   [snmp]
    doDebugging 1
    debugTokens  this,that,theother

in your snmpd.conf file (the leading [snmp] token indicates it's actually going to be directives from the main snmp.conf file; use "[snmpd]" to switch back to snmpd.conf tokens after that if you need to.)