如何调试'ESP的值没有保存在函数调用'错误?

sol*_*old 2 c++ debugging stack

在我的程序退出的极少数情况下,我得到"ESP的值没有在函数调用中保存"错误.该错误非常随机且难以重现.

如何调试此错误(VC++ 2008)?它是多么苛刻,因为它只在停机时发生?在发布模式下错误是否也可见?

sha*_*oth 5

这意味着您要么调用具有错误调用约定的函数 - 这通常在您不正确地声明函数指针时发生 - 或者存在覆盖堆栈的事情.

调试前者检查导致这种情况的功能.调试后者寻找堆栈分配的缓冲区溢出之类的东西.