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.