リアルタイムコントローラ(Windows 7 Embedded)のバックグラウンドで実行されるWindows C#プログラム(.net 3.5)があります。予期せぬプログラムの終了をログに記録する方法
数日後、プロセスは確実に終了します。 私はプログラムの動作と例外を徹底的に記録しています。 例外をスローする可能性のあるものはすべて、try/catchで囲まれ、ログファイルに書き込まれており、Windowsイベントログに書き込まれる例外がログに記録されている場合に発生します。
しかし、プログラムの終了を引き起こす可能性のある例外を暗示するものはログには何もありません。
プログラム終了を捕捉して記録する他の方法はありますか?
これまでのところ、私はオンラインデバッグセッションでバグを再現できませんでした。
プログラム自体はとても簡単です。 2つのストップウォッチを使用してスレッドを生成し、リアルタイムプログラムと通信します。 '生きている'ブール値、 'エラー'整数を書き出し、別の整数を読み込みます。ログファイルサイズは10 MByteに制限されています。サイズに達すると、ファイルの名前が日付に変更され、新しいファイルが開きます。 30日以上経過したファイルは削除されます。
私はWindowsイベントログをチェックしており、プログラムに直接関連するものは見つかりませんでした。
あなたは何をしますか?
グローバル例外ハンドラを見て、maybyそれが何かをキャッチすることができます。 – BWA
@BWAそれはあまりにも私の提案になり、同意します。[の – rmjoia
可能な複製をどのように.NETアプリケーションですべての例外/クラッシュをキャッチする](https://stackoverflow.com/questions/82483/how-to-catch-all-exceptions-crashes-in-a-net-app) – Sinatr