構文は何ですか? また、どの名前空間/クラスをインポートする必要がありますか? 可能であればサンプルコードを教えてください。それは大いに役立つでしょう。
5 に答える
また、デバッガーがアタッチされているかどうかを確認するのも好きです。デバッガーがないときに Debugger.Break を呼び出すと、アタッチするかどうかをユーザーに確認するメッセージが表示されます。必要な動作に応じて、Debugger.Break() が既にアタッチされている場合 (またはアタッチされていない場合) にのみ呼び出すことができます。
using System.Diagnostics;
//.... in the method:
if( Debugger.IsAttached) //or if(!Debugger.IsAttached)
{
Debugger.Break();
}
必要な場所に次を配置します。
System.Diagnostics.Debugger.Break();
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
@Philip Rieck と @John からの回答は微妙に異なります。
ジョンの...
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
DEBUG 条件付きコンパイル シンボル セットを使用してコンパイルした場合にのみ機能します。
フィリップの答えは...
if( Debugger.IsAttached) //or if(!Debugger.IsAttached)
{
Debugger.Break();
}
どのデバッガーでも機能するため、ハッカーにも少し恐怖を与えます。
また、SecurityException
スローされる可能性があるため、そのコードを公開しないでください。
断るもう一つの理由...
デバッガーがアタッチされていない場合、ユーザーはデバッガーをアタッチするかどうかを尋ねられます。ユーザーが「はい」と答えると、デバッガーが開始されます。デバッガーがアタッチされている場合、デバッガーはユーザー ブレークポイント イベントで通知され、デバッガー ブレークポイントがヒットしたかのように、デバッガーはプロセスの実行を中断します。
https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspxから
System.Diagnostics.Debugger.Break()
特定の場所でブレークするために使用できます。これは、サービスのデバッグなどの状況で役立ちます。