Add ptr and line to addRef dbg output
authorAndre Heinecke <aheinecke@intevation.de>
Fri, 20 Jul 2018 10:02:10 +0000 (12:02 +0200)
committerAndre Heinecke <aheinecke@intevation.de>
Fri, 20 Jul 2018 10:02:10 +0000 (12:02 +0200)
* src/memdbg.h (memdbg_addRef): Debug out the line.

--
This makes it easy to find where leaked objects were
referenced.

src/memdbg.cpp
src/memdbg.h

index 088767f..341e105 100644 (file)
@@ -92,7 +92,7 @@ register_name (void *obj)
 }
 
 void
-memdbg_addRef (void *obj)
+_memdbg_addRef (void *obj)
 {
   DBGGUARD;
 
index a9ea4c5..37437bd 100644 (file)
@@ -29,7 +29,17 @@ extern "C" {
 #endif
 #endif
 
-void memdbg_addRef (void *obj);
+#define memdbg_addRef(X) \
+{ \
+  if (X) \
+    { \
+      log_oom_extra ("%s:%s:%i AddRef on %p", \
+                     SRCNAME, __func__, __LINE__, X); \
+      _memdbg_addRef (X); \
+    } \
+}
+
+void _memdbg_addRef (void *obj);
 void memdbg_released (void *obj);
 
 void memdbg_ctor (const char *objName);