标签: c++ stack-overflow
我在使用vc ++ 2010编译的程序中遇到了堆栈溢出。我打开一个调试器并将其附加到进程。 然后我强制程序在堆栈溢出错误后继续,每次都会出现访问冲突错误。
我的问题是:堆栈溢出导致访问冲突错误吗?
答案 0 :(得分:5)
是。在Windows中,通过在堆栈末尾有一个不可读的内存页来检测堆栈溢出。此页面中的第一个错误引发堆栈溢出异常。下一个会引发访问冲突。
但是,要找到问题的核心:不要那样做。堆栈溢出无法恢复。一旦你有一个堆栈溢出,你的程序处于一个不确定的状态,你应该让它死。