2012-02-08 18 views
0

サービスの起動時に発生する問題をデバッグしようとしています。物事が実行されている間にアタッチしようとすると失敗し、windbgがタイムアウトしてリンクロックに関するエラーが発生します。添付する機会が来る前にエラーが発生したと思います。睡眠は私に付けるかもしれませんが、よりエレガントな解決策はありますか?C Windowsサービスでの起動時の問題のデバッグ

サービスの開始時にデバッガを最初に起動したいと思います。実行時にデバッガを起動するには、C#にDebugger.Launch()メソッドがあります。 .netなしで使用できる同等のC呼び出しがありますか?私はちょうどスタートルーチンにドロップすることができます。

私はDebugBreakを呼び出すことができません。サービスが開始された時点で私はデバッガの下にいません。

答えて

0

Sleepは確かに実行可能なアプローチです。原油ではあるが効果的です。診断結果を出力するには、適切なログフレームワークを使用するのが多少難しくなります。十分に可能なロギングフレームワークを使用すると、これは非常に効果的です。

+0

あなたが眠っている場所によってはうまくいきません。サービスがすぐに返ってこない場合、マネージャはそれを殺します。まだ良い解決策に苦しんでいます。 MSDNには、2つのサービスの使用を伴うデバッグサービスについてのhttp://msdn.microsoft.com/en-us/library/7a50syb3%28v=vs.80%29.aspxに関する注意事項があります。多分私はそこに行かなければならないだろう、私はしないことを望んでいた。 –

+0

いくつかログインしてください。簡単で効果的です。 –

関連する問題