骑手:一旦字段更改就暂停执行
Rider: suspend execution once field changed
我正在调试大量遗留代码,其中包含巨大的文件大小、不良封装、混合继承等。
例如,有 class 和 _age
字段:
public class User
{
private int _age;
//...
}
有许多执行路径发生变化_age
:通过属性、基础class、受保护的方法等。
一旦 _age
更改为检查堆栈跟踪,我如何才能暂停执行? IDE 不允许在此字段声明行上放置断点。我想知道 Rider IDE 是否有实现此目标的选项?或者也许有一些 practice/workaround 来实现它。
您要找的是数据断点。您可以找到有关如何使用它们的说明 here。
显然,Rider 支持数据断点(请参阅其他答案),但如果它们不可用(例如 VS、旧版本的 .NET),您可以随时临时将字段更改为 属性喜欢:
private int _age
{
get;
set;
};
然后您可以照常设置断点(设置、获取或两者)。
您的声明“...通过基础 class、受保护的方法等。”让我有点困惑。如何通过派生的 class' 基访问私有字段?
我正在调试大量遗留代码,其中包含巨大的文件大小、不良封装、混合继承等。
例如,有 class 和 _age
字段:
public class User
{
private int _age;
//...
}
有许多执行路径发生变化_age
:通过属性、基础class、受保护的方法等。
一旦 _age
更改为检查堆栈跟踪,我如何才能暂停执行? IDE 不允许在此字段声明行上放置断点。我想知道 Rider IDE 是否有实现此目标的选项?或者也许有一些 practice/workaround 来实现它。
您要找的是数据断点。您可以找到有关如何使用它们的说明 here。
显然,Rider 支持数据断点(请参阅其他答案),但如果它们不可用(例如 VS、旧版本的 .NET),您可以随时临时将字段更改为 属性喜欢:
private int _age
{
get;
set;
};
然后您可以照常设置断点(设置、获取或两者)。
您的声明“...通过基础 class、受保护的方法等。”让我有点困惑。如何通过派生的 class' 基访问私有字段?