Windows サービス コントロール マネージャーからサービスを開始し、デバッガーをスレッドに接続するよりも、コードをステップ実行する簡単な方法はありますか? 少し面倒なので、もっと簡単な方法があるかどうか疑問に思っています。
ベストアンサー1
サービスをすばやくデバッグしたい場合は、Debugger.Break()
そこに をドロップするだけです。その行に到達すると、VS に戻ります。完了したら、その行を削除することを忘れないでください。
更新:プラグマの代わりに#if DEBUG
、属性を使用することもできますConditional("DEBUG_SERVICE")
。
[Conditional("DEBUG_SERVICE")]
private static void DebugMode()
{
Debugger.Break();
}
ではOnStart
、このメソッドを呼び出すだけです:
public override void OnStart()
{
DebugMode();
/* ... do the rest */
}
ここで、コードはデバッグ ビルド中にのみ有効になります。その際、サービスのデバッグ用に別のビルド構成を作成すると便利な場合があります。