Some optional logging.
diff --git a/memdbg.py b/memdbg.py
index f05ad87..04f4bc8 100644
--- a/memdbg.py
+++ b/memdbg.py
@@ -1,3 +1,7 @@
+import sys
+sys.modules['ssl'] = None
+sys.modules['_hashlib'] = None
+
 
 import traceback
 
@@ -24,6 +28,11 @@
 C = _ffi.dlopen(None)
 
 heap = {}
+verbose = False
+
+def log(s):
+    if verbose:
+        print s
 
 def _backtrace():
     buf = _ffi.new("void*[]", 64)
@@ -34,13 +43,14 @@
     return stack
 
 
-def _malloc(n):
+@_ffi.callback("void*(*)(size_t)")
+def malloc(n):
     memory = C.malloc(n)
     python_stack = traceback.extract_stack(limit=3)
     c_stack = _backtrace()
     heap[memory] = [(n, python_stack, c_stack)]
+    log("malloc(%d) -> %s" % (n, memory))
     return memory
-malloc = _ffi.callback("void*(*)(size_t)", _malloc)
 
 
 @_ffi.callback("void*(*)(void*, size_t)")
@@ -53,6 +63,7 @@
 
     old.append((n, python_stack, c_stack))
     heap[memory] = old
+    log("realloc(0x%x, %d) -> %s" % (int(_ffi.cast("int", p)), n, memory))
     return memory
 
 
@@ -61,6 +72,7 @@
     if p != _ffi.NULL:
         C.free(p)
         del heap[p]
+        log("free(0x%x)" % (int(_ffi.cast("int", p)),))
 
 
 if _api.CRYPTO_set_mem_functions(malloc, realloc, free):