We take pride in your success. We let our positivity drive us, day in and out. Talk to us at Mindfire to know us more.

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

top

Miscellaneous

Let us Connect!

privacy

copyright (c) Mindfire Solutions 2007-2012. Login