Chu*_*ckO 5 stack-overflow delphi
我有一个用Delphi W32编写的应用程序,它处于测试阶段.
在测试PC上,它会在使用几个小时后偶然发出"堆栈溢出"消息.
如何捕获错误并查找原因?
我可以增加堆栈大小吗?
我差点说:在调试器中运行它; ^)
我以前做的是在每个方法中添加一个进入和离开日志功能.通过适当的缩进,我可以在日志中跟踪调用路径.
当堆栈溢出发生时,它将真正在日志中可见,因为缩进级别应该通过屋顶
void someMethod()
{
logMethodEnter("someMethod");
... do stuff...
log("something")
... do stuff...
logMethodLeave("someMethod");
}
Run Code Online (Sandbox Code Playgroud)
记录器会跟踪当前的logdepth并记录这样的东西:
>someMethod
something
<someMethod
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |