How you find memory leaks?
Answers were Sorted based on User's Feedback
Answer / jawahar
There many ways to find memory leaks, One of the ways is by
using MFC class. And another way is using Purify tools...
CMemorState is a MFC class by which we can find the memory
leaks. Below is a sample code to find the same.
#ifdef _DEBUG
CMemoryState oldState, newState, diffState;
oldState.Checkpoint();
#endif
int* a = new int[10];
#ifdef _DEBUG
newState.Checkpoint();
if(diffState.Difference(oldState, newState))
{
TRACE0("Memory Leaked");
}
#endif
| Is This Answer Correct ? | 8 Yes | 0 No |
Answer / umesh pai
There is a pretty easiest way to identify whether ur application is having any memory leak. By using the macro called DEBUG_NEW
define this macro on each of urs cpp file.
like #define DEBUG_NEW
then if u run once ur application in debug mode, it will show each variable which has not been released the memory properly.
| Is This Answer Correct ? | 8 Yes | 3 No |
Answer / gopal sodhani
macro should be
#define new DEBUG_NEW, in such case once you insert this
directive, the preprocessor will insert DEBUG_NEW wherever
you use new, and MFC does the rest.
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / nibha
there are various tool like UMDH,DevPartner, through which
can get line number and function name where memory is
leaking
| Is This Answer Correct ? | 3 Yes | 0 No |
What is LPCTSTR? What does LP denote it?
What is a critical section and how is it implemented?
What is primitive and non-primitive application?
What is stack size in win32 program?
Explain about MDI and CMultiDocTemplate ?
If i derive a new class from CObject what are the basic features my derived wil get ?
What is the command routing in MFC framework?
How can server communicate with more than one client
What is the difference between Extension DLL and Regular DLL?
if both base and derived class have the constructors if i create an object for derive class which class constructor is executed first
how does the UIThread and worker thread communicates and handle events
I have 2 threads. One thread prints odd numbers and the second thread prints even numbers. Now, I have to execute the threads alternatively so that i can output 1,2,3,4,5,6,..... write code for this?