【发布时间】:2011-10-18 09:11:22
【问题描述】:
当我在从 lambda 表达式调用的方法中放置断点时,断点永远不会被命中。当我将方法调用移到 lambda 之外时,会触发断点。
例如:
Function IncrementAll(ByVal items As IEnumerable(Of Integer)) As IEnumerable(Of Integer)
Return items.Select(Function(i) Increment(i))
End Function
Function Increment(ByVal i As Integer) As Integer
Return i + 1 'Breakpoint here
End Function
如果我调用 IncrementAll,Increment 中的断点不会被命中。有没有办法让 VS 2008 在这些断点处停止?我讨厌为了调试而将所有的 LINQ 重写为循环。
【问题讨论】:
-
有趣,我知道我已经在 .NET 4 中完成了这项工作。您已经验证了“items”中有元素,并且您正在调试配置中运行(即断点将是打到项目的其他地方)?
-
是的,如果我在 items.Select 上面放置一个断点,它将命中,如果我将 items.Select 转换为循环,那么 Increment 中的断点将会命中。
标签: vb.net visual-studio-2008 debugging .net-3.5