please help!
thanks.
That said, have you verified that you have good symbols for NTDLL, MSVCRT,
and your dll? If not, then it is unlikely that you will get good stacks.
Also, the memory allocation tracing does a 'best effort' matching up
allocations from various partial stacks. Sometimes, if the API can't
identify the stack that allocated the memory, the allocation will be stuck
in a default allocation stack. Usually, that stack terminates in the
MSVCRT!<some memory function>, with no caller below that. They are also
identified by an unusually large number of allocations assigned to it.
Pat
"ufwt" <ling....@mail.zte.com.cn> wrote in message
news:7b27f93b.0302...@posting.google.com...
"Pat" <patf...@online.microsoft.com> wrote in message news:<sAZ2a.92108$SD6.5333@sccrnsc03>...
Pat
"ufwt" <ling....@mail.zte.com.cn> wrote in message
news:7b27f93b.03021...@posting.google.com...
try something like
void Leak(int Max)
{
for (int i = 0;i<Max;i++)
{
void * p = HeapAlloc(GetProcessHeap(),0,SIZE);
}
}
or at least drop a line such as
DWORD * pDW=(DWORD *)_alloca(sizeof(DWORD)).
if your own function.
_alloca is regarded as being very beneficial to to the stack-backtrace
capture routine,
since it forces a frame even in presence of FPO optimization
(at least on IA32, For IA64 stacks are almost always correct anyway).
BTW, CoTaskMemAlloc, in recent OSes, goes to the process heap in the retail
builds.
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"ufwt" <ling....@mail.zte.com.cn> wrote in message
news:7b27f93b.03021...@posting.google.com...
"Ivan Brugiolo [MSFT]" <ivan...@online.microsoft.com> wrote in message news:<#8AhO7D1CHA.2696@TK2MSFTNGP09>...
"Ivan Brugiolo [MSFT]" <ivan...@online.microsoft.com> wrote in message news:<#8AhO7D1CHA.2696@TK2MSFTNGP09>...
But the output is not what I expected:
//
// UMDH: version 5.2.3692.0: Logtime 2003-02-25 09:43 - Machine=ciq - PID=3040
//
// OS version 5.0 Service Pack 3
// Umdh OS version 5.2
// Debug privilege has been enabled.
// Connecting to process 3040 ...
// Process 3040 opened (handle=24) ...
// Debug options set: 00000007
// Debug library initialized ...
It didn't show any backtrace information.
Anyone know why?