Software Technology Tips

Microsoft Visual Studio (2003/2005) informs about memory leakes in a module by setting the "leak check" bit, _CRTDBG_LEAK_CHECK_DF, to the debugger.
 
The memory leak information is printed on "Output" window. 
[ This advantage is in "Debug" mode only. ]
Example
 
int _tmain()
{
int* ptr = NULL;
 
ptr = (int*)malloc(sizeof(int)*20);
 
for( int i=0; i<20; ++i )
ptr[i] = i;
 
#ifndef NDEBUG
 
int flag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); // Get current flag
 
flag |= _CRTDBG_LEAK_CHECK_DF; // Turn on leak-checking bit
 
_CrtSetDbgFlag(flag); // Set flag to the new value
 
#endif 
 
//free(ptr);
 
printf("\n\nPress Enter...");
getch();
return 0;
}

If we run the above program, we can see the memory leak information in an "Output" window as follows...
 
Detected memory leaks!
Dumping objects ->
{56} normal block at 0x02D42D48, 80 bytes long.
 Data: <  > 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 
Object dump complete.
 
Of course, the above information is not describes where the mem leak is present and in which file etc.., but the information is valid.


Related Tags:

Visual Studio, Memory Leaks, C++

Author: Manjunath G

Miscellaneous

Let us Connect!

iso 9001 QA25 Red Herring STPI D&B Fastest Growing SME 2013 Award zinnov Nasscom

This site uses cookies. We respect your privacy.copyright (c) Mindfire Solutions 2007-2015. Login