当私有成员变量更改值时,如何在Visual Studio Debugger中停止执行?

5 debugging breakpoints watch visual-studio

假设我的类有一个名为count的私有整数变量.

我已经在我的代码中遇到了断点.现在,在我按下继续之前,我想让它调试器将在任何时候停止计数获得分配给它的新值.

除了将count计数到字段并在字段的set方法上设置断点之外,还有其他方法可以做到这一点吗?

Jar*_*Par 3

您正在寻找的东西在托管代码中是不可能的。在 C++ 中,这称为数据断点。当正在运行的程序更改内存块时,它允许您中断。但这仅适用于纯本机 C++ 代码。

为什么没有实现这一点的一个简短版本是,它在托管代码中要困难得多。本机代码很好且可预测。您创建内存并且它不会移动,除非您创建新对象(或显式复制内存)。

托管代码要复杂得多,因为它是一种垃圾收集语言。CLR 通常在内存中移动对象。因此,仅仅观看一点记忆是不够的。它需要 GC 交互。

这只是实施托管断点的问题之一。