Dr Memory is a memory observation tool capable of distinguishing memory-related programming errors like accesses of uninitialized memory, accesses to unaddressable memory, accesses to freed memory, double frees, memory leaks, and (on Windows) handle leaks, GDI Application Program Interface (API) usage errors, and accesses to un-reserved thread-local storage slots.
It works on unchanged application binaries running on Windows, Linux, Mac, or Android on commodity IA-32, AMD64, and ARM hardware.
It is released under an LGPL license and binary packages which are available for download.
It is made on the DynamoRIO dynamic instrumentation tool platform.
Dr Memory Performance
Dr Memory performs faster than comparable tools, including Valgrind, as shown in our CGO 2011 paper Practical Memory Checking with Dr. Memory, in which we made comparison between the two tools on Linux on the SPECCPU 2006 benchmark suite:
Documentation is included in the release package. We also maintain a copy for online browsing.
System call tracer for Windows
It includes an “strace for Windows” tool called drstrace in the Dr Memory package.
Dr Memory has its own discussion list.
To report a bug, use the issue tracker.