Alternative call stack capturing

I’ve just stumbled on these blog posts, by Maciej Sinilo, a game developer. He’s written a memory allocation monitoring tool and mentions that using RtlCaptureStackBackTrace() is a faster (if undocumented) way to capture a call stack. This is interesting to me as the call stack capture code in my debugging tools (deadlock detection, timeshifter, tickshifter, etc.) is pretty slow when using StackWalk64(). It’s also interesting that he seems to store and sort stacks by CRC which is similar to what I do in my tools.

This entry’s really just so that I don’t forget where I found the link…

Oh, and this link is really useful to, though I’ve already been bitten by and fixed most of the issues that are mentioned.

Updated: Link to the docs for RtlCaptureStackBackTrace() is here; thanks Barry.