在下一个语句中停止调试器

时间:2013-03-28 08:30:34

标签: c# .net

我需要一个代码,在一个将进入一个被调用的函数,而不是暂停调试器

例如

调用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()之前停止,我希望它停在其中。

1 个答案:

答案 0 :(得分:0)

以下是一些选项:

  • item.Invoke()上添加一个转折点并使用“Step into”键盘快捷键 F11
  • [DebuggerStepThrough]属性添加到Foo,以便调试器不会进入它。
  • 只需将代码分成两行,然后在第二行放置一个断点:

    var result = Foo();
    DEBUG(result);