Windows サービスを効率的にデバッグする
Windows サービスのデバッグは通常面倒で、サービス コントロール マネージャーを通じてサービスを開始し、デバッガーをスレッドにアタッチする必要があります。ただし、もっと便利な方法があります。
Debugger.Break() を使用する
手っ取り早く簡単な解決策は、コードで Debugger.Break()
を使用することです。実行がこの行に達すると、Visual Studio (VS) は自動的にデバッグを開始します。デバッグが完了したら、必ず Debugger.Break()
行を削除してください。
条件属性
または、#if DEBUG
や Conditional("DEBUG_SERVICE")
などの条件付きコンパイル ディレクティブまたは属性を使用することもできます。これらの構造を使用すると、デバッグ ビルドでのみ実行されるコード ブロックを指定できます。
使用例
OnStart
メソッド内で、[Conditional("DEBUG_SERVICE")]
で修飾された DebugMode()
メソッドを呼び出すことができます。このコードはデバッグ ビルドでのみトリガーされ、VS での実行を中断します:
<code class="language-csharp">public override void OnStart() { DebugMode(); /* ... 执行其余代码 */ }</code>
個別のビルド構成
デバッグ効率を向上させるには、サービスのデバッグ専用のビルド構成を作成することをお勧めします。これにより、制御された環境でサービスを分離してテストできます。
以上がWindows サービスのデバッグを効率化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。