c++ - C++ 程序中堆栈溢出的症状是什么?

标签 c++ stack-overflow

我刚刚遇到一个问题,当本地对象试图调用一个非常简单的过程时,HPUX 上的线程 C++ 程序中的堆栈溢出导致了 SEGV_MAPERR。我困惑了一会儿,但幸运的是我和一个认识到这是堆栈大小问题的人交谈,我们能够通过增加线程可用的堆栈大小来解决这个问题。

我如何识别堆栈何时溢出? Windows/linux/hpux 上的症状是否不同?

最佳答案

假设您不在一个会停止您的应用程序并说“堆栈溢出”的平台上,我怀疑您会看到与任何类型的缓冲区溢出相同的行为。堆栈只是为您的程序预分配的另一 block 内存,如果您超出了这些范围……那么祝您好运!谁知道你会踩到什么!

您可以覆盖 CPU 的温度读数,它可能是您输入给 Larry 的电子邮件,也可能是内核被锁定的位,导致有趣的死锁情况!谁知道。

至于 C++,并没有说明堆栈应该如何相对于内存中的其他东西进行布局,或者这个东西甚至需要是一个堆栈!

关于c++ - C++ 程序中堆栈溢出的症状是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/562973/

相关文章:

c# - C# 中的 wglCreateContext 失败但托管 C++ 中没有

java - For cycle [C/java 类语法]

recursion - Erlang:带有未优化尾调用的递归函数的stackoverflow?

c++ - Linux中加载时链接与运行时链接期间的符号地址

c++ - 我可以像 C# 的 Action 一样使用 C++ 函数指针吗?

javascript - 如何一一执行url请求而不导致堆栈溢出? ( Node .JS)

c++ - Quicksort - 最坏情况导致堆栈溢出?

c++ - 用户应用程序中的递归重试是否危险?

Java HW StackOverflowError 与从书中复制的 Max Subarray 伪代码

c++ - 使用 lambda 函数定义运算符