0

我正在调试包含巨大文件大小、不良封装、混合继承等的大量遗留代码。

例如,有一个带_age字段的类:

public class User
{
    private int _age;
    
    //...
}

有许多执行路径会发生变化_age:通过属性、基类、受保护的方法等。

_age一旦更改为检查堆栈跟踪,我如何暂停执行?IDE 不允许在此字段声明行上放置断点。我想知道 Rider IDE 是否有实现此目标的选项?或者也许有一些实践/解决方法来实现它。

4

2 回答 2

1

您要查找的内容称为数据断点。您可以在此处找到有关如何使用它们的说明。

于 2022-01-08T19:10:23.530 回答
1

显然,Rider 支持数据断点(参见另一个答案),但如果它们不可用(例如 VS,旧版本的 .NET),您可以随时将该字段临时更改为如下属性:

private int _age 
{ 
     get; 
     set;
};

然后你可以像往常一样设置断点(设置,获取或两者)。

您的声明“...通过基类、受保护的方法等。” 让我有点困惑。如何通过派生类的基访问私有字段?

于 2022-01-08T20:34:36.037 回答