Original Post
🔒 Locked
StackWalk64
Advertisement
I''ve worked with the 32 bit version before. Here are a few related urls:
http://www.microsoft.com/msj/0597/hood0597.htm
http://www.microsoft.com/msj/0299/bugslayer/bugslayer0299.htm
http://www.mvps.org/win32/misc/stackwalk.html
http://www.codeproject.com/useritems/leakfinder.asp
http://www.codeproject.com/cpp/exception.asp
There doesn''t appear to be much commentary regarding the 64 bit dbghelp routines.
http://www.microsoft.com/msj/0597/hood0597.htm
http://www.microsoft.com/msj/0299/bugslayer/bugslayer0299.htm
http://www.mvps.org/win32/misc/stackwalk.html
http://www.codeproject.com/useritems/leakfinder.asp
http://www.codeproject.com/cpp/exception.asp
There doesn''t appear to be much commentary regarding the 64 bit dbghelp routines.
- Do you have the 5.1 dbghelp.dll? You''ll need it for DIA stuff; grab it from someone who has WinXP or try to download a ''MS debug pack'' or something.
- you synchronizing your calls to the library? It''s single threaded.
- read in one of Matt Pietrek''s articles that you need to set certain members of STACKFRAME:
That''s it until you tell us your Windows version and where it''s crashing
Lessbread: there''s not much difference; in fact, on my system, the 32 bit routines point to the 64 bit versions.
500x3
- you synchronizing your calls to the library? It''s single threaded.
- read in one of Matt Pietrek''s articles that you need to set certain members of STACKFRAME:
/* x86 only: init STACKFRAME for first StackWalk call (undocumented) */
frame.AddrPC.Offset = context.Eip;
frame.AddrPC.Mode = AddrModeFlat;
frame.AddrStack.Offset = context.Esp;
frame.AddrStack.Mode = AddrModeFlat;
frame.AddrFrame.Offset = context.Ebp;
frame.AddrFrame.Mode = AddrModeFlat;
That''s it until you tell us your Windows version and where it''s crashing
Lessbread: there''s not much difference; in fact, on my system, the 32 bit routines point to the 64 bit versions.
500x3
It's real strange how it crashes. Well, my trace function which uses StackWalk64 works well - 'til it returned - then I get an Access Violation from Ntdll.dll. My programm still doesn't crash because I do exception handling. If the programm continues, I get a lot of strange messages from heap, that some heap block has been modified past the requested size of 30.
Other question : Do I really need set up frame.AddrStack ?
In the doc just AddrPC and AddrFrame need to be set up.
Now I trying to get the WinXP symbols I downloaded working with my Visual C++ 6 ... :-~
Thx
BlackHC
I do know that I don't know anything.
EDIT:
I've located the error somewhere in the STL and somehow removed it by copying some function parts into others. Strange,strange,strange.
Thx for your help however.
[edited by - BlackHC on March 8, 2003 8:09:43 AM]
Other question : Do I really need set up frame.AddrStack ?
In the doc just AddrPC and AddrFrame need to be set up.
Now I trying to get the WinXP symbols I downloaded working with my Visual C++ 6 ... :-~
Thx
BlackHC
I do know that I don't know anything.
EDIT:
I've located the error somewhere in the STL and somehow removed it by copying some function parts into others. Strange,strange,strange.
Thx for your help however.
[edited by - BlackHC on March 8, 2003 8:09:43 AM]
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement