假设我的课程有一个名为count的私有整数变量。

我已经在代码中遇到断点了。现在,在我按继续之前,我要创建它,以便调试器将在计数获得分配给它的新值时停止。

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

最佳答案

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

为何未实现此功能的一个简短版本是在托管代码中要难得多。本机代码很好而且可预测。您创建内存,除非创建新对象(或显式复制内存),否则内存不会四处移动。

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

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

09-05 11:54