From f45ac8db07d81ade3725ecd9b2cb7783051ad7df Mon Sep 17 00:00:00 2001 From: Rob Arnold Date: Thu, 28 Jul 2011 08:19:00 -0700 Subject: [PATCH] More useful leak debugging output. When printing out leaked allocations, print the allocation tag and address of the returned pointer. --- src/rt/memory_region.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/rt/memory_region.cpp b/src/rt/memory_region.cpp index 6e6515901974b..2dd2a39916a25 100644 --- a/src/rt/memory_region.cpp +++ b/src/rt/memory_region.cpp @@ -130,8 +130,10 @@ memory_region::~memory_region() { if (_detailed_leaks) { for (size_t i = 0; i < _allocation_list.size(); i++) { if (_allocation_list[i] != NULL) { - printf("allocation 0x%" PRIxPTR " was not freed\n", - (uintptr_t) _allocation_list[i]); + alloc_header *header = (alloc_header*)_allocation_list[i]; + printf("allocation (%s) 0x%" PRIxPTR " was not freed\n", + header->tag, + (uintptr_t) &header->data); } } }