On Jun 12, 2005, at 9:33 AM, Justin Haygood wrote:
Ouch, crash in markStackObjectsConservatively()
The following two lines essentially cause the crash:
char **p = (char **)start; char **e = (char **)end;
start and end work, and according to the debugger have the correct values.
p and e also have correct values, BUT also the debugger has this to say about them:
p: expression can't be evaluated e: Bad Ptr
That's really weird. Are you still having this problem? I don't have access to a Windows box at the moment so I have no idea what would be wrong. Perhaps windows doesn't like the cast to a doubly indirect pointer for some reason. Or maybe it is trying to implicitly double- deference them in the debugger, which of course would not work since they point to spots on the stack that likely are not themselves valid pointers. Regards, Maciej