0

呼び出された関数に入り、デバッガーを一時停止するコードが必要です

例えば

呼び出すDEBUG(Foo())と、関数 foo が呼び出され、break のみが呼び出されます。

これは可能ですか?

意識してるけどSystem.Diagnostics.Debugger.Break()いつも足を踏み入れる自分を救いたい

私の問題の例:

   foreach (Action item in collection)
        {
            if (IsDebug && System.Diagnostics.Debugger.IsAttached)
            {
                System.Diagnostics.Debugger.Break(); <----- stops here
                item.Invoke()
            }
        }

このコードは、item.Invoke()I want it to stop inside it への呼び出しの前に停止します。

4

1 に答える 1

0

以下にいくつかのオプションを示します。

  • ブレークポイントを設定しitem.Invoke()、「ステップ イン」キーボード ショートカットを使用しますF11
  • Foo に属性を追加[DebuggerStepThrough]して、デバッガーがそこに入らないようにします。
  • コードを 2 行に分割し、2 行目にブレークポイントを配置するだけです。

    var result = Foo();
    DEBUG(result);
    
于 2013-03-28T08:34:48.610 に答える