Jump to content

Debug_new

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Edward (talk | contribs) at 11:17, 23 October 2013 (link memory leak using Find link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Debug_new refers to a technique in C++ to overload and/or redefine operator new and operator delete in order to intercept the memory allocation and deallocation calls, and thus debug a program for memory usage. It often involves defining a macro named DEBUG_NEW, and makes new become something like new(__FILE__, __LINE__) to record the file/line information on allocation. Microsoft Visual C++ uses this technique in its Microsoft Foundation Classes. There are some ways to extend this method to avoid using macro redefinition while still able to display the file/line information on some platforms.

There are many inherent limitations to this method. It applies only to C++, and cannot catch memory leaks by C functions like malloc. However, it can be very simple to use and also very fast, when compared to some more complete memory debugger solutions.

See also