-#define xmalloc(size) malloc_wrap(size, __FILE__, __LINE__)
-#define xrealloc(ptr, size) realloc_wrap(ptr, size, __FILE__, __LINE__)
-#define free_null(ptr) free_wrap((void **)&ptr )
-#define xstrdup(str) strdup_wrap(str, __FILE__, __LINE__)
+#if DEBUG
+# define xmalloc(size) malloc_wrap_debug(size, __FILE__, __LINE__)
+# define xrealloc(ptr, size) realloc_wrap_debug(ptr, size, __FILE__, __LINE__)
+#else
+# define xmalloc(size) malloc_wrap(size)
+# define xrealloc(ptr, size) realloc_wrap(ptr, size)
+#endif
+
+#define free_null(ptr) free_wrap((void **)&ptr)
+#define xstrdup(str) strdup_wrap(str)