当私有成员变量更改值时,如何停止 Visual Studio 调试器中的执行?

2024-04-28

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

我已经在代码中遇到了断点。现在,在我按“继续”之前,我想让调试器在 count 获得分配给它的新值时停止。

除了将 count 提升到字段并在字段的 set 方法上设置断点之外,还有其他方法吗?


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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当私有成员变量更改值时,如何停止 Visual Studio 调试器中的执行? 的相关文章

随机推荐