Is there Valgrind Memcheck like tool for windows to debug use after free errors?

ks1322 picture ks1322 · Mar 28, 2012 · Viewed 31.3k times · Source

Durring my work I regulary face rather common programming error - using some object which has already been freed. This invokes UB in C++. On linux, this kind of problems are usually resolved by using Valgrind tool Memcheck. From Memcheck manual:

Memcheck tries to establish what the illegal address might relate to, since that's often useful. So, if it points into a block of memory which has already been freed, you'll be informed of this, and also where the block was freed.

Memcheck provides me call stack, where the object was deallocated and I can go on and debug the problem. Is there similar tool for windows with the same functionality, preferably free?

Answer

stanwise picture stanwise · Mar 28, 2012

As Lailin Chen pointed out in his answer to this question try one of these:

Dr. Memory: https://github.com/dynamorio/drmemory

UMDH: http://support.microsoft.com/kb/268343

AppVerifier: http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx