Welcome to MSDN Blogs Sign in | Join | Help
chkstk

A while back, I found a problem where I was getting a stack overflow exception inside of chkstk. Chkstk is a crt function and can probably be found in every dll. In my case the crash didn't make sense because I clearly had plenty of stack space left. The problem was that since chkstk is written in asm, the debugger doesn't walk a reasonable callstack. It turned out that I had passed a bad interface pointer into ole, which caused ole to try and _alloca a huge number. Therefore, if you see a crash in chkstk, someone is probably _alloca'ing a huge number of bytes.

How to know how big your stack has grown: Go to the first function on the stack besides the thread entry point, and evaluating '@vframe - esp'. @vframe will give you the value of the vframe in a particular function. esp gives you the stack address on the top most frame.

Posted: Monday, January 19, 2004 8:22 AM by greggm

Comments

Woo Seok Seo said:

' if you see a crash in chkstk, someone is probably _alloca'ing a huge number of bytes.'

Thank you for your informaion!
# February 3, 2004 8:19 PM
New Comments to this post are disabled
Page view tracker