首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么Visual Studio无法在这个简单的C#属性上设置条件断点?

为什么Visual Studio无法在这个简单的C#属性上设置条件断点?
EN

Stack Overflow用户
提问于 2011-11-17 13:21:44
回答 3查看 3.9K关注 0票数 17

在我的C#对象中,我在此属性的设置器中使用条件value == "Status"设置了一个条件断点。通常它是用PostSharp方面装饰的,但在这种情况下我已经把它注释掉了,它仍然有问题。

代码语言:javascript
复制
public virtual string Name
{
    get
    {
        return _name;
    }
    set
    {
        _name = value; // breakpoint here
    }
}

第一次执行到断点时,VS会显示一个错误:

编辑-对于可搜索性,消息如下:

无法设置以下断点:

当'value ==“.cs”‘为true时,在(文件)状态,第137行字符17 (’(类).Name‘,第12行)

函数求值要求所有线程都运行。

下面是Thread窗口的外观:

有没有人以前见过这种情况,或者知道是什么原因导致调试器在这个看似简单的情况下犹豫不决?会不会和休眠线程有关?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-23 09:23:02

我最终想出了一个变通办法:

代码语言:javascript
复制
public virtual string Name
{
    get
    {
        return _name;
    }
    set
    {
        if (value == "Status")
            DoSomeNoOp(); // Breakpoint here, or Debug.Fail() inside your no-op

        _name = value;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2011-12-18 08:42:19

我曾经遇到过这个问题,当我遇到一个情况时,它离开了基线程的执行。有关应用程序流程的更多信息将有所帮助。在我看来,这是一种种族状况。

票数 1
EN

Stack Overflow用户

发布于 2012-08-22 14:37:49

我不认为它知道什么是value。尝试将断点放在关闭的}上,并在条件中使用_name

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8162488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档