1. ホーム
  2. c#

[解決済み] Windowsサービスのデバッグを容易にする方法

2022-03-17 09:38:27

質問

Windowsサービスコントロールマネージャでサービスを開始し、スレッドにデバッガをアタッチするよりも簡単にコードをステップスルーする方法はありますか?ちょっと面倒なので、もっと簡単な方法はないかと考えています。

どのように解決するのですか?

サービスのデバッグを素早く行いたい場合、私は単に Debugger.Break() を挿入します。その行に達すると、VSに戻されるんだ。終了したら、その行を削除するのを忘れないでください。

UPDATEです。 の代替案として #if DEBUG プラグマを使用することもできます。 Conditional("DEBUG_SERVICE") 属性で指定します。

[Conditional("DEBUG_SERVICE")]
private static void DebugMode()
{
    Debugger.Break();
}

あなたの OnStart このメソッドを呼び出すだけです。

public override void OnStart()
{
     DebugMode();
     /* ... do the rest */
}

そこで、このコードはDebugビルド時にのみ有効になります。サービスデバッグ用に別のビルド構成を作成すると便利かもしれません。