Windowsサービスのデバッグ
WindowsサービスをVisual Studioでデバッグしたいとき
通常のアプリとはちょっと違う手順を踏む必要があるようだ。
自分の使用しているOSはWindows XPで
開発環境はVisual Studio 2005 Professional Edition、
ユーザーは管理権限有りで実施。
以下の手順を踏む事でデバッグ可能になる。
1.Windowsサービスのビルド
2.Windowsサービスのインストール
3.Windowsサービスの開始
4.プロセスのアタッチ
それぞれの手順の注意点。
1.はDebug構成でビルドすること。
2.は1.でビルドしたexeをinstallutil.exeを使って
コマンドラインからインストールする。
通常のコマンドプロンプトでは
installutilへのパスが通っていないので
スタートメニューから
「Visual Studio 2005 コマンド プロンプト」
を開いて実行する。
コマンドは以下の通り。
Windowsサービスのインストール
> installutil Sample.exe
Windowsサービスのアンインストール
> installutil /u Sample.exe
これでインストールが完了するので
コントロールパネルの管理ツールから
サービス一覧を開くと追加されているハズ。
なのでこのサービスを開始させる=3.。
4.はVisual Studioのツールメニューから
プロセスのアタッチを選び
プロセス一覧の中から3.で開始させたプロセスを
選んでアタッチする。
以上でブレークポイントで処理を止めるなどの
デバッグが可能になる。
当たり前だがソース修正すると1.のビルドから
実施する必要があるので、かなり面倒臭い。