Debug new
{{Short description|Technique in C++ to debug memory issues}}
{{DISPLAYTITLE:Debug_new}}
{{context|date=February 2020}}
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
External links
- [http://wyw.dcweb.cn/leakage.htm A Cross-Platform Memory Leak Detector]
- [https://msdn.microsoft.com/en-us/library/tz7sxz99.aspx DEBUG_NEW (MFC)]
Category:Software testing tools