diff --git a/configure.ac b/configure.ac
index f7a7705816c47e41feb27b9d6c35be7f498a6063..e7526363798b58b1f97e75154830524cfc250c82 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,16 +99,13 @@ fi
 
 # Debug modules
 AC_ARG_ENABLE([debug],
-    AS_HELP_STRING([--enable-debug=server,zones,xfr,packet,rr,ns,loader,dnssec],
+    AS_HELP_STRING([--enable-debug=server,zones,ns,loader,dnssec],
     [compile selected debug modules [default=none]]),
     [
     echo ${enableval}|tr "," "\n"|while read val; do
         case "${val}" in
             server) AC_DEFINE([KNOTD_SERVER_DEBUG], [1], [Server debug.]) ;;
             zones) AC_DEFINE([KNOT_ZONES_DEBUG], [1], [Zones debug.]) ;;
-            xfr) AC_DEFINE([KNOT_XFR_DEBUG], [1], [XFR debug.]) ;;
-            packet) AC_DEFINE([KNOT_PACKET_DEBUG], [1], [Packet debug.]) ;;
-            rr) AC_DEFINE([KNOT_RR_DEBUG], [1], [RR debug.]) ;;
             ns) AC_DEFINE([KNOT_NS_DEBUG], [1], [Nameserver debug.]) ;;
             loader) AC_DEFINE([KNOT_LOADER_DEBUG], [1], [Zone loading debug.]) ;;
             dnssec) AC_DEFINE([KNOT_DNSSEC_DEBUG], [1], [DNSSEC debug.]) ;;
diff --git a/doc/installation.rst b/doc/installation.rst
index 10c45cd2c7b1f3a2224767514100b958a0e62fa7..5410792ce2d569f92f8a35929849add4227f4309 100644
--- a/doc/installation.rst
+++ b/doc/installation.rst
@@ -115,7 +115,7 @@ resulting binaries.
 
 If you want to add debug messages, there are two steps to do that.
 First you have to enable modules you are interested in.
-Available are: ``server, zones, xfr, packet, dname, rr, ns, hash, compiler``.
+Available are: ``server, zones, ns, loader, dnssec``.
 You can combine multiple modules as a comma-separated list.
 Then you can narrow the verbosity of the debugging message by specifying the
 verbosity as ``brief, verbose, details``.
diff --git a/src/knot/common/debug.h b/src/knot/common/debug.h
index 91af661506951c0ef19603839ce43ab317dc7d86..a114cf4fda20d9409a19d665f5b399e7070f052f 100644
--- a/src/knot/common/debug.h
+++ b/src/knot/common/debug.h
@@ -26,6 +26,12 @@
 
 #pragma once
 
+#include <stdint.h>
+#include <stdio.h>
+
+#include "knot/common/log.h"
+#include "libknot/internal/print.h"
+
 #ifdef KNOTD_SERVER_DEBUG
   #define KNOTD_THREADS_DEBUG
   #define KNOTD_JOURNAL_DEBUG
@@ -38,36 +44,11 @@
   #define KNOTD_SEMCHECK_DEBUG
 #endif
 
-#include <stdint.h>
-#include <stdio.h>
-
-#include "knot/common/log.h"
-#include "libknot/internal/print.h"
-
-/*
- * Debug macros
- */
 #ifdef KNOT_ZONES_DEBUG
   #define KNOT_ZONE_DEBUG
   #define KNOT_ZONEDIFF_DEBUG
 #endif
 
-#ifdef KNOT_NS_DEBUG
-  #define KNOT_EDNS_DEBUG
-#endif
-
-#ifdef KNOT_PACKET_DEBUG
-  #define KNOT_RESPONSE_DEBUG
-#endif
-
-#ifdef KNOT_RR_DEBUG
-  #define KNOT_RRSET_DEBUG
-#endif
-
-#ifdef KNOT_XFR_DEBUG
-  #define KNOT_TSIG_DEBUG
-#endif
-
 /******************************************************************************/
 
 #ifdef KNOT_NS_DEBUG
@@ -214,238 +195,6 @@
 
 /******************************************************************************/
 
-#ifdef KNOT_RESPONSE_DEBUG
-
-/* Brief messages. */
-#ifdef DEBUG_ENABLE_BRIEF
-#define dbg_response(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_response_hex(data, len)  hex_log((data), (len))
-#define dbg_response_exec(cmds) do { cmds } while (0)
-#else
-#define dbg_response(msg...)
-#define dbg_response_hex(data, len)
-#define dbg_response_exec(cmds)
-#endif
-
-/* Verbose messages. */
-#ifdef DEBUG_ENABLE_VERBOSE
-#define dbg_response_verb(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_response_hex_verb(data, len)  hex_log((data), (len))
-#define dbg_response_exec_verb(cmds) do { cmds } while (0)
-#else
-#define dbg_response_verb(msg...)
-#define dbg_response_hex_verb(data, len)
-#define dbg_response_exec_verb(cmds)
-#endif
-
-/* Detail messages. */
-#ifdef DEBUG_ENABLE_DETAILS
-#define dbg_response_detail(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_response_hex_detail(data, len)  hex_log((data), (len))
-#define dbg_response_exec_detail(cmds) do { cmds } while (0)
-#else
-#define dbg_response_detail(msg...)
-#define dbg_response_hex_detail(data, len)
-#define dbg_response_exec_detail(cmds)
-#endif
-
-/* No messages. */
-#else
-#define dbg_response(msg...)
-#define dbg_response_hex(data, len)
-#define dbg_response_exec(cmds)
-#define dbg_response_verb(msg...)
-#define dbg_response_hex_verb(data, len)
-#define dbg_response_exec_verb(cmds)
-#define dbg_response_detail(msg...)
-#define dbg_response_hex_detail(data, len)
-#define dbg_response_exec_detail(cmds)
-#endif
-
-/******************************************************************************/
-
-#ifdef KNOT_PACKET_DEBUG
-
-/* Brief messages. */
-#ifdef DEBUG_ENABLE_BRIEF
-#define dbg_packet(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_packet_hex(data, len)  hex_log((data), (len))
-#define dbg_packet_exec(cmds) do { cmds } while (0)
-#else
-#define dbg_packet(msg...)
-#define dbg_packet_hex(data, len)
-#define dbg_packet_exec(cmds)
-#endif
-
-/* Verbose messages. */
-#ifdef DEBUG_ENABLE_VERBOSE
-#define dbg_packet_verb(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_packet_hex_verb(data, len)  hex_log((data), (len))
-#define dbg_packet_exec_verb(cmds) do { cmds } while (0)
-#else
-#define dbg_packet_verb(msg...)
-#define dbg_packet_hex_verb(data, len)
-#define dbg_packet_exec_verb(cmds)
-#endif
-
-/* Detail messages. */
-#ifdef DEBUG_ENABLE_DETAILS
-#define dbg_packet_detail(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_packet_hex_detail(data, len)  hex_log((data), (len))
-#define dbg_packet_exec_detail(cmds) do { cmds } while (0)
-#else
-#define dbg_packet_detail(msg...)
-#define dbg_packet_hex_detail(data, len)
-#define dbg_packet_exec_detail(cmds)
-#endif
-
-/* No messages. */
-#else
-#define dbg_packet(msg...)
-#define dbg_packet_hex(data, len)
-#define dbg_packet_exec(cmds)
-#define dbg_packet_verb(msg...)
-#define dbg_packet_hex_verb(data, len)
-#define dbg_packet_exec_verb(cmds)
-#define dbg_packet_detail(msg...)
-#define dbg_packet_hex_detail(data, len)
-#define dbg_packet_exec_detail(cmds)
-#endif
-
-/******************************************************************************/
-
-#ifdef KNOT_EDNS_DEBUG
-
-/* Brief messages. */
-#ifdef DEBUG_ENABLE_BRIEF
-#define dbg_edns(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_edns_hex(data, len)  hex_log((data), (len))
-#else
-#define dbg_edns(msg...)
-#define dbg_edns_hex(data, len)
-#endif
-
-/* Verbose messages. */
-#ifdef DEBUG_ENABLE_VERBOSE
-#define dbg_edns_verb(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_edns_hex_verb(data, len)  hex_log((data), (len))
-#else
-#define dbg_edns_verb(msg...)
-#define dbg_edns_hex_verb(data, len)
-#endif
-
-/* Detail messages. */
-#ifdef DEBUG_ENABLE_DETAILS
-#define dbg_edns_detail(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_edns_hex_detail(data, len)  hex_log((data), (len))
-#else
-#define dbg_edns_detail(msg...)
-#define dbg_edns_hex_detail(data, len)
-#endif
-
-/* No messages. */
-#else
-#define dbg_edns(msg...)
-#define dbg_edns_hex(data, len)
-#define dbg_edns_verb(msg...)
-#define dbg_edns_hex_verb(data, len)
-#define dbg_edns_detail(msg...)
-#define dbg_edns_hex_detail(data, len)
-#endif
-
-/******************************************************************************/
-
-#ifdef KNOT_TSIG_DEBUG
-
-/* Brief messages. */
-#ifdef DEBUG_ENABLE_BRIEF
-#define dbg_tsig(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_tsig_hex(data, len)  hex_log((data), (len))
-#else
-#define dbg_tsig(msg...)
-#define dbg_tsig_hex(data, len)
-#endif
-
-/* Verbose messages. */
-#ifdef DEBUG_ENABLE_VERBOSE
-#define dbg_tsig_verb(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_tsig_hex_verb(data, len)  hex_log((data), (len))
-#else
-#define dbg_tsig_verb(msg...)
-#define dbg_tsig_hex_verb(data, len)
-#endif
-
-/* Detail messages. */
-#ifdef DEBUG_ENABLE_DETAILS
-#define dbg_tsig_detail(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_tsig_hex_detail(data, len)  hex_log((data), (len))
-#else
-#define dbg_tsig_detail(msg...)
-#define dbg_tsig_hex_detail(data, len)
-#endif
-
-/* No messages. */
-#else
-#define dbg_tsig(msg...)
-#define dbg_tsig_hex(data, len)
-#define dbg_tsig_verb(msg...)
-#define dbg_tsig_hex_verb(data, len)
-#define dbg_tsig_detail(msg...)
-#define dbg_tsig_hex_detail(data, len)
-#endif
-
-/******************************************************************************/
-
-#ifdef KNOT_RRSET_DEBUG
-
-/* Brief messages. */
-#ifdef DEBUG_ENABLE_BRIEF
-#define dbg_rrset(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_rrset_hex(data, len)  hex_log((data), (len))
-#define dbg_rrset_exec(cmds) do { cmds } while (0)
-#else
-#define dbg_rrset(msg...)
-#define dbg_rrset_hex(data, len)
-#define dbg_rrset_exec(cmds)
-#endif
-
-/* Verbose messages. */
-#ifdef DEBUG_ENABLE_VERBOSE
-#define dbg_rrset_verb(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_rrset_hex_verb(data, len)  hex_log((data), (len))
-#define dbg_rrset_exec_verb(cmds) do { cmds } while (0)
-#else
-#define dbg_rrset_verb(msg...)
-#define dbg_rrset_hex_verb(data, len)
-#define dbg_rrset_exec_verb(cmds)
-#endif
-
-/* Detail messages. */
-#ifdef DEBUG_ENABLE_DETAILS
-#define dbg_rrset_detail(msg...) log_msg(LOG_DEBUG, msg)
-#define dbg_rrset_hex_detail(data, len)  hex_log((data), (len))
-#define dbg_rrset_exec_detail(cmds) do { cmds } while (0)
-#else
-#define dbg_rrset_detail(msg...)
-#define dbg_rrset_hex_detail(data, len)
-#define dbg_rrset_exec_detail(cmds)
-#endif
-
-/* No messages. */
-#else
-#define dbg_rrset(msg...)
-#define dbg_rrset_hex(data, len)
-#define dbg_rrset_exec(cmds)
-#define dbg_rrset_verb(msg...)
-#define dbg_rrset_hex_verb(data, len)
-#define dbg_rrset_exec_verb(cmds)
-#define dbg_rrset_detail(msg...)
-#define dbg_rrset_hex_detail(data, len)
-#define dbg_rrset_exec_detail(cmds)
-#endif
-
-/******************************************************************************/
-
 #ifdef KNOT_DNSSEC_DEBUG
 
 /* Brief messages. */
@@ -496,8 +245,6 @@
 
 /******************************************************************************/
 
-/******************************************************************************/
-
 #ifdef KNOTD_SERVER_DEBUG
 
 /* Brief messages. */