【发布时间】:2017-03-17 10:52:43
【问题描述】:
是否可以在条件断点内使用 Linq?
当以下条件为真时,我试图打破:
parentElement.ChildElements.Any(c => c.Id == 1)
当调试器被点击时,会显示以下错误消息
调试器无法评估此表达式。
如果问题与使用 .Any() 有关,我已尝试以下条件
parentElement.ChildElements.Where(c => c.Id == 1).Count() > 0
这导致显示与上面相同的错误。
我知道以下代码可以解决
#if DEBUG
if(parentElement.ChildElements.Any(c => c.Id == 1))
{
System.Diagnostics.Debugger.Break();
}
#endif
但是,理想情况下,我不希望通过更改代码来放置调试器。
【问题讨论】:
-
不喜欢条件断点,它会多次减慢执行速度
-
刚刚验证 - linq 对于条件断点工作正常
-
我认为我的问题可能与未在调试选项中启用“使用托管兼容模式”有关。启用此设置允许断点按预期运行