Debugモードでビルドされているときに限り、デバッガ選択画面を立ち上がり、アタッチできます。
/// <summary> /// サービス起動 /// </summary> /// <param name="args"></param> protected override void OnStart(string[] args) { //デバッグ時のみデバッガを起動します。 DebuggingProcess(); //以降サービス起動時に行う処理 } /// <summary> /// [デバッグ属性メソッド]デバッガ起動 /// </summary> [Conditional("DEBUG")] private void DebuggingProcess() { System.Diagnostics.Debugger.Launch(); }
メソッドにデバッグ時のみ実行される属性を付けます。
[Conditional("DEBUG")]
この属性の付いたメソッドは、Relaseモードで実行された場合には実行されません。
処理自体空振りします。
実行すると、デバッガはどれでデバッグしますか?的なウィンドウが現れ、指定したツールでアタッチできます。
ビルドしてインストールしてサービス立ち上げてデバッガ立ち上げてなんて…サービスのデバッグはホント面倒ですね。
0 件のコメント:
コメントを投稿