時間が無いので手短にメモ。
Windows Serviceのデバッグはいろいろと面倒ですが、サービスの登録や動作環境さえ整えば、以下の方法で簡単に実施できます。
- OnStartメソッドに「Debugger.Launch()」と書く
- サービスを開始する
- 「Visual Studioでデバッグしますか?」と聞いてくるので、開いておいた開発環境に相当するVisual Studioを一覧から選ぶ。
- 「アタッチしますか?」と聞いてくるので、「する」。
以上。念のため、OnStartの適当な行にブレークをかけておいてください。あと、絶対に間違っても「Debugger.Launch()」を正式ソースに残したままにしないように(ま、きちんと最終成果物でテストしていればすぐに気づきますが……「デバッガーを起動しますか?」ってメッセージが出ますから)。