检查堆栈

bbt*_*trb 3 c c++ stack-overflow stack

我遇到堆栈溢出问题,并希望确切地看到堆栈上的内容是什么.

如何使用GDB检查堆栈帧?是一个相同的问题,但info locals在这里看起来很好(很少变量,大多数是std :: vectors和std :: maps),所以我不希望堆栈从此溢出.此外,我已将堆栈限制设置为32MB,因此这应该是充足的,并且不使用递归函数.

是否有一个工具可以显示堆栈的完整内容,可能按大小排序?

小智 5

特殊的分析器可以更好地捕获堆栈溢出,而不是手动查看变量gdb.您更有可能是缓冲区溢出而不是堆栈溢出.在任何一种情况下,这里都列出了一些可以帮助您指出问题的分析器:

祝好运!