调试

debug 在发生崩溃后禁用自动恢复,以便获得一个不错的堆栈跟踪。

说明

通常,CoreDNS 将从恐慌中恢复;使用 debug 会阻止这种情况的发生。debug 的主要用途是帮助测试。使用 debug 的副作用是 log.Debuglog.Debugf 消息将打印到标准输出。

请注意,errors 插件(如果加载)也会设置recover,从而否定此设置。

启用此插件是针对整个进程的:在至少一个服务器块中启用 debug 会在全局范围内启用调试模式。

语法

debug

某些插件会发送调试日志 DNS 消息。这是使用以下格式完成的

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

使用 text2pcap(Wireshark 的一部分),可以将其转换回二进制形式,使用以下命令行:text2pcap -i 17 -u 53,53,其中 17 是协议(UDP),53 是端口。这些端口允许 Wireshark 将这些数据包检测为 DNS 消息。

每个插件都可以决定是否转储消息以帮助调试。

实例

禁用从崩溃中恢复的能力并显示调试日志

. {
    debug
}

请参见

https://www.wireshark.org/docs/man-pages/text2pcap.html.