What I'd like to know is if there is a way to tell how much space I have available in the stack and put that size into a variable.
ie long x = [stacksize]

I think I may have a poor understanding of how memory management works, so forgive me if this is a silly question. the problem I'm trying to solve is that a program crashes mysteriously after running for awhile, and my guess is that I'm doing something bad with copying objects, so it fills up the stack. If I can see how much room there is over time, I can tell if that is happening.

stack space is managed by the compiler, and usually if you have problems its becuase you recurse too deep and blow out the stack, but that's often pretty obvious.

Copying objects can cause you do do bad things with HEAP space (new/delete) if you have allocated space in the object and you don't have good copy constructors.

can you post some code?