2011-06-30 7 views
1

NServiceBusを使用してメッセージキューを読み取るウィンドウバックグラウンドサービスがあります。Debugger.Launch()not working

このウィンドウサービスをデバッグして、フローをトレースするようにしました。サービスを起動するときに、サービスクラス内にDebugger.Launch()を追加しました。debuggermodeでサービスを起動します。

しかし

は、今私は、メッセージがキューに到達したときに開始RequestDataMessageHandler.csクラスでデバッガを維持したいです。

Debugger.Launch()をこのクラス内に保持してこのクラスをデバッグしたいと思います。しかし、デバッガは起動しません。ハンドラクラスはキューからメッセージを読み込みます。

原因は何ですか?

+0

NLogやLog4netのようなロギングフレームワークを試したことはありますか?彼らは、サービサーをデバッグする際に多くの助けを借りて、書き込む複数のターゲットを持っています。 IE、ファイル、イベントログ、データベース、UDP、TCP/IP。 – Jethro

+0

StackOverflowで:[C#で簡単にWindowsサービスのデバッグを開始する](http://stackoverflow.com/questions/125964/easier-way-to-start-debugging-a-windows-service-in-c) – sll

+1

あなたが例外を取得しなかったので、おそらく*働いていたでしょう。問題は、セッション0のデスクトップにジャストインタイムのデバッガ選択ダイアログを表示していることです。ユーザーが決してアクセスできないもの。回避策はありません。自分のデスクトップから自分でデバッガを接続する必要があります。 –

答えて

0

すでにデバッガが接続されているようですが、デバッガがすでに接続されている場合はDebugger.Launch()が動作しません。 Debugger.Break()を使用してみてください。デバッガがすでに接続されているかどうかにかかわらず壊れます。