使用vc ++ 2010在c ++中进行堆栈溢出

时间:2014-11-03 08:00:42

标签: c++ stack-overflow

我在使用vc ++ 2010编译的程序中遇到了堆栈溢出。我打开一个调试器并将其附加到进程。 然后我强制程序在堆栈溢出错误后继续,每次都会出现访问冲突错误。

我的问题是:堆栈溢出导致访问冲突错误吗?

1 个答案:

答案 0 :(得分:5)

是。在Windows中,通过在堆栈末尾有一个不可读的内存页来检测堆栈溢出。此页面中的第一个错误引发堆栈溢出异常。下一个会引发访问冲突。

但是,要找到问题的核心:不要那样做。堆栈溢出无法恢复。一旦你有一个堆栈溢出,你的程序处于一个不确定的状态,你应该让它死。