假设我的课程有一个名为count的私有整数变量。
我已经在代码中遇到断点了。现在,在我按继续之前,我要创建它,以便调试器将在计数获得分配给它的新值时停止。
除了将计数提升为字段并在字段的set方法上设置断点外,还有其他方法可以做到这一点吗?
最佳答案
您要查找的内容在托管代码中是不可能的。在C ++中,这称为数据断点。它允许您在运行的程序更改内存块时中断。但这仅在纯本机C ++代码中可用。
为何未实现此功能的一个简短版本是在托管代码中要难得多。本机代码很好而且可预测。您创建内存,除非创建新对象(或显式复制内存),否则内存不会四处移动。
托管代码要复杂得多,因为它是一种垃圾收集语言。 CLR通常在内存中移动对象。因此,仅仅看一点内存是不够的。它需要GC交互。
这只是实现托管断点的问题之一。