【解決方法】プロセス (exe) がハングした場合に終了して再起動するように監視するにはどうすればよいでしょうか?


こんにちは、私はカスタム vb.net アプリケーションを構築しました。これは、複数のターミナルのようなタッチ スクリーン コンピューター上で継続的に実行されます。 テスト中、約 2 日間の実行後にアプリケーションがハングするか応答を停止するようです。 さまざまなマシンにシステム リソースが豊富にあり、デバッグ時にコード エラーがスローされることはありません。 ネットワーク上の複数の異なるマシン (メモリ、CPU パワー、パフォーマンス仕様が異なる) に exe を配置し、1 日を通してさまざまな時間にずらしてアプリを起動しました…しかし、ある時点で、それらはすべて数秒以内にロックアップして応答しなくなります。 まるで外部プロセスが原因で、さまざまなマシン上で同時にハングアップしているかのようです。 アプリは情報を取得/更新するために Web サービスを定期的に呼び出しますが、それらの呼び出しは特定の時間帯や特定の実行時間の長さに設定されていません。 アプリを閉じて再起動するだけで、サーバーなどに変更や修正を加えることなく、機能が復元されます。

私が試したこと:

さまざまな API 主導の機能に対するメモリ リークと例外キャッチを探してみました。 しかし、この問題はアプリコードに直接関係しているようではなく、Windows/セキュリティ関連、または特定の時点でexeをロックする他のスケジュールされたバックグラウンドタスクまたはプロセスに関連している可能性があります。

解決策 1

EventViewer に手がかりを求めたいと思います – イベントビューア | Microsoft Learn[^]

そしておそらくコピーをダウンロードするでしょう Sysinternals – Sysinternals | Microsoft Learn[^]

コメント

タイトルとURLをコピーしました