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

本文关键字:调试器 语句 一条 | 更新日期: 2023-09-27 18:06:21

我需要一个代码,将进入一个被调用的函数,然后暂停调试器

例如

调用DEBUG(Foo())将调用函数foo并且只调用break。

这可能吗?

我知道System.Diagnostics.Debugger.Break(),但我不想一直做step into

例子:

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

这个代码在调用item.Invoke()之前停止,我希望它在里面停止。

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

以下是一些选项:

  • item.Invoke()上设置断点并使用键盘快捷键F11
  • 添加[DebuggerStepThrough]属性到Foo,以便调试器不会进入它。
  • 把你的代码分成两行,在第二行放一个断点:

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