c#如何记录意外程序退出
问题描述:
我有一个Windows c#程序(.net 3.5)在后台运行在实时控制器(Windows 7 Embedded)上。c#如何记录意外程序退出
过了几天,这个过程终于结束了。 现在我彻底记录了我的程序的操作和例外情况。 所有可以抛出异常的东西都被try/catch包围,并且正在写入日志文件,并且记录器是否有写入到Windows事件日志的异常。
但是,日志中没有提示可能导致程序终止的异常。
是否有其他技术来捕获和记录程序终止?
到目前为止,我无法在在线调试会话中重现该错误。
程序本身很简单。 它使用两个秒表,并产生一个线程与实时程序进行通信。它写入一个'alive'布尔值,一个'错误'整数并读取另一个整数。日志文件大小限制为10 MB。如果达到大小,文件将被重命名为日期,并打开一个新文件。超过30天的文件将被删除。
我检查了Windows事件日志并找不到与该程序直接相关的任何内容。
你会怎么做?
答
我可以回答我自己的问题。
不幸的是我遗漏了我认为不相关的问题的一个细节。 在任何用户登录之前,应用程序在系统引导时由Windows任务计划程序启动。任务属性中有一个复选框,如果任务终止时间超过3天,则会有一个复选框。我忘了取消它:(。
谢谢您的贡献。
来看看全球的异常处理程序,mayby能抓到的东西。 – BWA
@BWA同意,这将是我的建议了。的 – rmjoia
可能的复制[如何捕捉在.NET应用程序中的所有异常/崩溃](https://stackoverflow.com/questions/82483/how-to-catch-all-exceptions-crashes-in-a-net-app) – Sinatr