【发布时间】:2023-03-08 10:02:01
【问题描述】:
Error 28 - "Out of stack space" 错误的最可能原因是无限或非常深的递归,它占用了太多的堆栈内存吗?
其他可能的原因是什么?
【问题讨论】:
-
我认为这个问题没有代码是有效的。在这种情况下,如果他知道导致问题的相关代码,那么他就不需要问这个问题。虽然显然一个一般性问题只会出现一般性错误。为了我的两分钱,我想问你是否在调试器中捕获了错误并检查了调用堆栈?
-
@tcarvin:调试器中尚未出现错误。仅限现场。不幸的是(很明显)代码没有适当的错误处理,所以我只有一个运行时错误。
-
假设你已经很好地描述了重现错误的步骤,但是你不能在你的开发机器上重现它,并且在阅读了相关代码之后没有什么明显的地方。然后,您需要添加一些日志记录和一些错误处理并将新构建发送到站点,以便他们可以重现它,然后发回日志。
-
@MarkJ:是的,这是一个很好的计划,但如果时间至关重要呢?如果我需要在不将新版本部署到站点的情况下快速找出模块中出现此错误的原因,我应该在代码中寻找什么?
-
@CraigJ Martin 的回答很好。 “事件级联”可能很难发现。有时您有一个事件处理程序会更改控件的无害属性 - 但该属性更改会再次触发事件。 (或者它触发了另一个事件,它改变了一个不同的属性......最终你最终回到了初始属性)。
标签: vb6 stack stack-overflow