在我的C#对象中,我在此属性的setter中设置了条件为value == "Status"
的条件断点。通常它用PostSharp方面装饰,但我在这种情况下评论过,它仍然有问题。
public virtual string Name
{
get
{
return _name;
}
set
{
_name = value; // breakpoint here
}
}
第一次执行到达断点时,VS显示错误:
编辑 - 对于可搜索性,信息如下:
无法设置以下断点:
在(文件).cs,第137行第17行('(class).Name',第12行),当'value ==“Status”'为真时
功能评估需要运行所有线程。
这是Threads窗口的样子:
之前有人见过这个,或者有什么想法可能会导致调试器对这个看似简单的案例感到不满?它可能与睡眠线程有关吗?
答案 0 :(得分:1)
当我遇到基本线程执行失败的情况时,我曾遇到过这个问题。有关应用程序流程的更多信息将有所帮助。在我看来,这似乎是一种竞争条件。
答案 1 :(得分:1)
我最终设计了一种解决方法:
public virtual string Name
{
get
{
return _name;
}
set
{
if (value == "Status")
DoSomeNoOp(); // Breakpoint here, or Debug.Fail() inside your no-op
_name = value;
}
}
答案 2 :(得分:0)
我认为它不知道value
是什么。尝试将断点放在结束}
上并在条件中使用_name
。