2017-07-07 9 views
0

Visual Studio Professional 2015、C#.NETフレームワーク4を使用しています。 シリアルポートでデータを送受信するウィンドウ用のサービスを作成しました。コンピュータのシャットダウン時にコンピュータの起動とシャットダウンが開始されます。ハングアップしたり、停止したりしないでください。ウィンドウの更新によりカスタムサービスがハングする

私はテストを実行していて、ウィンドウが更新されるとサービスがハングアップすることがわかりました。このハングをどのようにデバッグするのか分かりません。

このバグの追跡を開始する方法については、私に感謝します。

ありがとうございました。

+1

あなたの問題を理解するのに役立つような、より多くの情報を提供してください – Esperadoce

+0

あなたのプログラムが依存しているすべての依存関係を中断しているサービスに依存している場合、通常です。この問題を回避するには、特定の時刻に更新をスケジュールするか、完全に無効にしてから手動で実行します。 – Rinos

+0

どのようなログファイルですか?私は、ウィンドウの更新が失敗したときにハングが発生することを示すWindowsアプリケーションイベントログの一部を提供することができます –

答えて

0

ここに役立つ情報があります。

私はサービスを書くときに、通常、このAppDomainイベントにUnhandledExceptionというイベントハンドラを追加します。

これは、catch-all例外ハンドラの一種で、多くの場合に便利で、エラー処理の改善に役立ちます。

// Add this code to the Service Start method or the constructor 

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; 

// Then add this method to your service class, it will be invoked when 
// your code encounters an exception that is not trapped by a try/catch/finally 

private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) 
{ 
    var ex = e.ExceptionObject as Exception; 
    Trace.TraceError("Unhandled Exception occurred in service: {0}", ex); 
} 

Traceのログを、必要に応じて独自のログフレームワークに置き換えることができます。

これが役に立ちます。

+0

サービスはクラッシュしません。サービスが停止するまで応答しません。 –

+0

これは、例外が発生していないわけではありません –

関連する問題