The log file was empty, but the bug was real.
Manpages don’t lie, but they don’t shout either. Hidden inside them are the switches, flags, and environment variables that can turn debugging from guesswork into science. Debug logging is one of the most overlooked parts of system troubleshooting. Developers often search the source, scan the code, and forget that the manpage already holds the keys. Finding and using those keys can mean the difference between hours of drift and minutes to resolution.
Manpages are the operating system’s own manual — terse, structured, and often ignored. When a command or daemon misbehaves, the right debug flag buried under the OPTIONS section can change everything. Some commands unlock verbose tracing with -d or --debug. Others require an environment variable like DEBUG=1 or LOG_LEVEL=trace. Systems-level tools often hide advanced logging behind compile-time flags or configuration files hinted at in the manpage.
Access to debug logging is about visibility. Without it, you’re blind to process flow, system calls, or configuration load order. With it, you see every handshake, every read, every failed condition. The critical step is systematic discovery: read every section of the manpage, look for ENVIRONMENT, FILES, and EXAMPLES. The hidden debug pathways are often there.
When you enable debug logging, you create a map. For cli tools, add the option inline: