【发布时间】:2018-03-20 11:01:43
【问题描述】:
我有一个 Windows c# 程序 (.net 3.5),它在实时控制器 (Windows 7 Embedded) 的后台运行。
几天后,该过程明显终止。 现在我正在彻底记录我的程序的操作和异常。 所有可以抛出异常的东西都被 try/catch 包围,并被写入日志文件,如果记录器有异常写入 Windows 事件日志。
但日志中没有任何提示可能导致程序终止的异常。
是否有其他技术可以捕获和记录程序终止?
到目前为止,我无法在在线调试会话中重现该错误。
程序本身非常简单。 它使用两个秒表并产生一个线程与实时程序进行通信。它写入一个“活动”布尔值、一个“错误”整数并读取另一个整数。日志文件大小限制为 10 MB。如果达到大小,则使用日期重命名文件并打开一个新文件。超过 30 天的文件将被删除。
我检查了 Windows 事件日志,找不到与程序直接相关的任何内容。
你会怎么做?
【问题讨论】:
-
看看全局异常处理程序,也许它可以捕捉到一些东西。
-
@BWA 同意,这也是我的建议。