我正在调试包含巨大文件大小、不良封装、混合继承等的大量遗留代码。
例如,有一个带_age
字段的类:
public class User
{
private int _age;
//...
}
有许多执行路径会发生变化_age
:通过属性、基类、受保护的方法等。
_age
一旦更改为检查堆栈跟踪,我如何暂停执行?IDE 不允许在此字段声明行上放置断点。我想知道 Rider IDE 是否有实现此目标的选项?或者也许有一些实践/解决方法来实现它。
我正在调试包含巨大文件大小、不良封装、混合继承等的大量遗留代码。
例如,有一个带_age
字段的类:
public class User
{
private int _age;
//...
}
有许多执行路径会发生变化_age
:通过属性、基类、受保护的方法等。
_age
一旦更改为检查堆栈跟踪,我如何暂停执行?IDE 不允许在此字段声明行上放置断点。我想知道 Rider IDE 是否有实现此目标的选项?或者也许有一些实践/解决方法来实现它。
您要查找的内容称为数据断点。您可以在此处找到有关如何使用它们的说明。
显然,Rider 支持数据断点(参见另一个答案),但如果它们不可用(例如 VS,旧版本的 .NET),您可以随时将该字段临时更改为如下属性:
private int _age
{
get;
set;
};
然后你可以像往常一样设置断点(设置,获取或两者)。
您的声明“...通过基类、受保护的方法等。” 让我有点困惑。如何通过派生类的基访问私有字段?