Windows サービスをデバッグするには、多くの場合、コードをステップ実行する必要がありますが、サービス コントロール マネージャーやデバッガーを介してスレッドに手動でアタッチする場合は、面倒な作業になる可能性があります。このプロセスを簡素化するためのいくつかの代替案を検討してみましょう。
Debugger.Break()
: オンザフライデバッグ面倒なプロセスは必要なく、コードに Debugger.Break()
ステートメントを挿入できます。この行が実行されると、実行が中断され、Visual Studio でサービスを直接デバッグできるようになります。運用環境にデプロイする前に、このステートメントを必ず削除してください。
#if DEBUG
または Conditional()
を使用しますあるいは、条件付きコンパイル ディレクティブを使用して、開発中のみコードのデバッグを有効にすることもできます。
<code>#if DEBUG // 调试代码 #endif</code>
または、Conditional
属性を使用することもできます:
<code>[Conditional("DEBUG_SERVICE")] private static void DebugMode() { Debugger.Break(); }</code>
OnStart
メソッドで DebugMode()
関数を呼び出して、デバッグ ビルドでブレークポイントをトリガーします。
<code>public override void OnStart() { DebugMode(); /* ... 执行其余操作 */ }</code>
この方法では、デバッグ コードがデバッグ ビルドでのみアクティブになることが保証され、デバッグ モードとリリース モードを簡単に切り替えることができます。
以上がWindows サービスのデバッグを簡素化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。