32

構文は何ですか? また、どの名前空間/クラスをインポートする必要がありますか? 可能であればサンプルコードを教えてください。それは大いに役立つでしょう。

4

5 に答える 5

44

また、デバッガーがアタッチされているかどうかを確認するのも好きです。デバッガーがないときに Debugger.Break を呼び出すと、アタッチするかどうかをユーザーに確認するメッセージが表示されます。必要な動作に応じて、Debugger.Break() が既にアタッチされている場合 (またはアタッチされていない場合) にのみ呼び出すことができます。

using System.Diagnostics;

//.... in the method:

if( Debugger.IsAttached) //or if(!Debugger.IsAttached)
{
  Debugger.Break();
}
于 2008-09-19T21:01:38.520 に答える
23

必要な場所に次を配置します。

System.Diagnostics.Debugger.Break();
于 2008-09-19T18:20:22.353 に答える
8

https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.debugger.break#System_Diagnostics_Debugger_Break

#if DEBUG
  System.Diagnostics.Debugger.Break();
#endif
于 2008-09-19T18:20:58.640 に答える
3

@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から

于 2016-03-21T09:39:35.633 に答える
3

System.Diagnostics.Debugger.Break()特定の場所でブレークするために使用できます。これは、サービスのデバッグなどの状況で役立ちます。

于 2008-09-19T18:20:23.913 に答える