私はWin 7 Pro 64-bitを実行しています。私は.NET 4フレームワークを使ってC#でサービスを書いた。正しくインストールされ、実行を開始します。私はそれがいくつかの出力をログファイルに書き込むため、実行されていることを知っています。しかし、数秒後に死ぬ。 Visual Studio 2010 Proを使用して同じコードをサービスとしてではなく実行すると、決して死ぬことはありません。だから私の明らかな問題は、なぜそれがサービスとして死ぬべきだが、非サービスとして死ぬのを理解できないので、これをデバッグするための適切なアプローチに関するものです。私はコードのいくつかの場所でログファイルに書き込みを入れましたが、毎回別の場所で死にそうです。アプリケーションには3つのスレッドがあります。どんな提案も歓迎されます。サービス実行が終了する
1
A
答えて
0
System.Diagnostics.Debugger.Launch
を使用してサービスとして実行し、デバッグします。そのシナリオでクラッシュしない場合は、追加のロギングを追加し、最上位のキャッチを追加してエラーを書き留めてください。それでもやらなければ、クラッシュダンプファイルを作成し、SOSとwindbgで調べてください。
4
サービスの開始メソッドから直接コードを実行している場合、この現象は簡単に発生します。問題は、サービスのStartメソッドがサービスを開始すると予想され、がすぐにを返すことです。そこにコードを実行すると、Windowsがサービスを停止します。
これを処理する正しい方法は、サービスのStart()メソッドでコードを専用スレッドで実行させることです。スレッドの作成と即時リターンを除いて、実際には何も必要はありません。これが問題の場合は、フォアグラウンドスレッドを設定してそこにロジックを置くだけで正しく動作するでしょう。
関連する問題
- 1. JNI - ネイティブスレッドの実行が終了する前にJavaが終了する
- 2. バックプレス時にサービスが終了する
- 3. Android開発:サービスが終了する
- 4. 実行中のサブプロセスコールを終了する
- 5. サービスを終了するとサービスが停止する
- 6. 「終了」で何が実行され、終了時にオブジェクトファイナライザを実行できないのですか? Ruby
- 7. 実行時に実行中のwhileループを終了する
- 8. 子スレッドが実行を完了する前にメインスレッドが終了しますか?
- 9. SQLクエリを実行するとアプリケーションが強制終了する
- 10. マルチスレッドクライアントメソッドをWCFサービスが終了するのを待ってから実行を続行する
- 11. バックグラウンドでJavaExecタスクを実行し、ビルドが完了すると終了する
- 12. セッションが終了したときにスクリプトを実行する
- 13. Googleテストの実行後にJenkins Build Scriptが終了する
- 14. Cocos2d CCActionが数回実行した後に終了する
- 15. pthreadが終了したときに関数を実行する
- 16. Expectスクリプト - 終了時にコードを実行
- 17. 実行中のpthreadを終了
- 18. Pythonの実行システムコマンドとし、終了...
- 19. アプリの終了時にコードを実行
- 20. コンテンツページレスポンス終了中マスターページの継続実行
- 21. アニメーション終了時のコード実行
- 22. 終了時のWP7実行方法
- 23. C#Windowsサービス自己終了サービス
- 24. アプリケーションが終了するとAndroidサービスが再起動する
- 25. 終了前にアニメーション完了ブロックを実行しますか?
- 26. プロセスが終了したときにコマンドを実行します。
- 27. cleartimeout関数が終了した後に実行します(jQuery)
- 28. 関数が終了した後にjavascriptを実行します。
- 29. 終了してもアプリケーションが実行されていますか?
- 30. recaptcha.reload()が終了した後にコードを実行します
Windowsイベントログには何かがありますか? – keyboardP
毎回同じスレッドが最初に死んでいますか? – soandos
あなたのロジックは「スタート()」メソッドにありますか? –