COREDNS-DEBUG(7)

πŸ“¦
version 1.15.0 Β· 2 versions
, in nixpkgs unstable, opensuse-leap 16.0

πŸ’… COREDNS-DEBUG(7) β€” the debug plugin, bestie edition πŸŽ€

okay so real talk, this is the debug plugin from the CoreDNS plugins fam, and it's lowkey a chaos gremlin in the best way. it shuts off the automatic crash recovery so when stuff goes wrong you get a nice stack trace instead of CoreDNS just quietly picking itself up and pretending nothing happened. iconic, honestly πŸ’€


✨ NAME ✨

debug β€” turns off the automatic recovery-on-crash so you actually get a pretty little stack trace to cry over 🫢


🌸 DESCRIPTION 🌸

so here's the vibe: normally CoreDNS recovers from panics. like, it falls over, dusts itself off, and keeps going. using debug inhibits that. no more silent recovery, bestie β€” you get the receipts πŸ”₯

the main use of debug is to help in testing. that's the whole point, that's the assignment, it ate.

a side effect (and ngl it's a pretty big one) of using debug is that log.Debug and log.Debugf messages will be printed to standard output. so congrats, you're getting the lore now πŸ‘‘

⚠️ heads up: the errors plugin (if it's loaded) will also set a recover, which negates this whole setting. so if you're like "why is my debug not debugging"… check if errors is in the group chat 😭

also super important: enabling this plugin is process-wide. like, enabling debug in at least one server block enables debug mode globally for the entire process. one server block says "let's be messy" and the whole process goes with it fr fr πŸ’…


πŸ¦‹ SYNTAX πŸ¦‹

debug

some plugins will send debug log DNS messages, and when they do, it's in this exact format:

debug: 000000 00 0a 01 00 00 01 00 00 00 00 00 01 07 65 78 61
debug: 000010 6d 70 6c 65 05 6c 6f 63 61 6c 00 00 01 00 01 00
debug: 000020 00 29 10 00 00 00 80 00 00 00
debug: 00002a

and here's the slay part: using text2pcap (which is part of Wireshark, iykyk), this can be converted back to binary with the following command line:

text2pcap -i 17 -u 53,53

where 17 is the protocol (UDP) and 53 are the ports. these ports let Wireshark detect these packets as DNS messages. cute, right? 🌈

each plugin gets to decide whether to dump messages to aid in debugging β€” so it's very much a "your plugin, your choice" situation πŸ’–


🧚 EXAMPLES 🧚

disable the ability to recover from crashes and show debug logging:

. {
    debug
}

⭐ SEE ALSO ⭐


and that's the whole page, bestie β€” no cap, you're now a debug expert πŸ’œ

this has been the CoreDNS plugins manual, COREDNS-DEBUG(7), dated March 2026 πŸŽ€ go forth and get your stack traces, you main character πŸ¦‹

πŸ“¦ where this page comes from