Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.



This topic is 5588 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, has someone any experience with the StackWalk64 function ( and the other DbgHelp functions) ? I get always an strange Access Violation from Ntdll.dll ... BlackHC I do know that I don''t know anything.

Share this post

Link to post
Share on other sites
I''ve worked with the 32 bit version before. Here are a few related urls:


There doesn''t appear to be much commentary regarding the 64 bit dbghelp routines.

Share this post

Link to post
Share on other sites
- 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:

/* 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.


Share this post

Link to post
Share on other sites
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 ... :-~


I do know that I don't know anything.

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]

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!