服务终止的原因

时间:2010-04-08 12:36:46

标签: delphi service

我使用我在Delphi中创建的服务应用程序。我的问题是它有时会被操作系统终止,我不知道为什么会这样。

当我参加系统活动时,我可以找到像这样的信息:

Event ID: 7034,[...]服务意外终止。它已经完成了这个时间。

我知道你不能给我一个答案,为什么会发生这种情况,但是你能否告诉我应该注意什么来找到这种行为的原因?例如,什么样的异常可以使操作系统关闭应用程序。

提前谢谢。

2 个答案:

答案 0 :(得分:8)

制作一个EurekalogMadExcept的调试版本,它会告诉你它在哪里爆炸,堆栈是什么样的,内存等等。

他们还可以自动重启您的应用。不确定是否可以在服务上完成,但对于常规应用程序,它可以。他们还可以通过电子邮件向您发送转储,甚至直接发布到FogBugz或Mantis等bug跟踪器。如果您没有立即找到吸烟枪,这些措施将有所帮助,并且需要将故障排除/调试作为长期解决方案。也就是说,即使每月只有一次甚至一次崩溃的事情,也更容易告诉你的老板“我在看日志”而不是“我真的不知道”。

答案 1 :(得分:3)

确保捕获所有线程的Execute方法中的所有异常假设您正在使用TThread后代)。如果有任何通过操作系统,这可能会导致它终止您的服务。