我有一个应用程序每秒进行一次测量(我在演示模式下运行它并生成随机数据,因此问题与从连接到串行端口的设备读取时没有关系).
5或6分钟后,它会挂起.
我已经添加了
try
// entire body of procedure/function goes here
except
on E: Exception do
begin
MessageDlg('Internal coding error in <function name>()',
mtError, [mbOK], 0);
end;
end;
Run Code Online (Sandbox Code Playgroud)
到每个函数(和项目文件中的Application.Run()),但我没有看到任何消息对话框.知道我怎么测试这个吗?
更新:我猜测是资源问题,无论是RAM还是MySql数据库 - 但其他程序运行正常,并且每次测量只保存5个浮点数和时间戳,因此在这么短的时间后似乎都不太可能.
解决方案:有很多很棒的答案(感谢和+1全能),但我终于通过在IDE中运行并使用Run/Pause来查看它是一个不断增加的循环.
再次感谢大家.