如何使用lambda表达式逐步执行

4
我有这个小方法。
    [System.Diagnostics.DebuggerStepThrough]
    public static void Log(Database db)
    { 
        db.Log = s => MyLogger.Log(s);
    }

但是调试器仍然会在每个 s => MyLogger.Log(s) 停止。

有没有办法告诉调试器忽略这一行?

手动单步/跳过/跳出每个查询非常乏味。

db.Log 是 Entity Framework 6 的日志记录。


@gleng,我也只能按下ctrl-shift-f8,跳过执行,这样就可以不用再设置一个断点了。我想要能够跳过它。 - Fredou
2
"跳过"而不是"进入"? - Marvin Smit
@MarvinSmit,如果有自动完成的方式,我希望它可以由Visual Studio自动完成。我知道我可以这样做。当您不停地进行调试并且不断按相同的F键时,如果出现错误并且必须重新开始,则不希望在2个F键之间跳来跳去。 - Fredou
设置一个断点在该行之后,然后按F5键? - DotNetRussell
会用 "System.Diagnostics.DebuggerStepperBoundary" 吗?(我自己没有测试过) - Marvin Smit
1个回答

4
这段代码实现了我想要的功能。
    [System.Diagnostics.DebuggerStepThrough]
    public static void Log(Database db)
    {
        Action<string> Log = MyLogger.Log;
        db.Log = Log;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接