Hello,
That's right.
You don't have to call _CrtDumpMemoryLeaks directly. Indeed, you will cause the
dump to begin before all static class members are destroyed.
Just use the following line
_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG|_CRTDBG_LEAK_CHECK_DF);
with the flag _CRTDBG_REPORT_FLAG, CRT automatically calls _CrtDumpMemoryLeaks
after all global variables have been destroyed.
Micha�l
Selon [EMAIL PROTECTED]:
>
>
>
>
>
> I'm trying to figure out how does this memory debugging actually work. I'm
> not sure we are using Crt... functions in a proper way.
>
> I get a leak report by running this:
>
> #include <windows.h>
> #include <crtdbg.h>
>
> int main(int argc, char* argv[])
> {
> _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
> _CrtDumpMemoryLeaks();
> return 0;
> }
>
> I think you have to set checkpoints and check for differences between them.
> apparently, with your log4cxx example leaks are really only occuring on
> program exit . i'll keep you posted ...
>
>
>
>
> Hemant
> <[EMAIL PROTECTED]
> ty.com> To
> 'Log4CXX User'
> 07/27/2004 09:12 <[email protected]>
> AM cc
>
> Subject
> Please respond to RE: Memory Leaks in Log4cxx
> "Log4CXX User"
> <[EMAIL PROTECTED]
> ging.apache.org>
>
>
>
>
>
>
>
> Hi,
> Did you examine the following files for memory leaks :-
> basiconfigurator.cpp
> logmanager.cpp
>
> -Hemant
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, July 27, 2004 6:17 PM
> To: Log4CXX User
> Subject: RE: Memory Leaks in Log4cxx
>
>
>
>
>
>
>
> And here is the actual dump:
>
> (See attached file: memleaks.txt)
>
>
>
>