|
|
1
3
在托管代码中,您所寻找的是不可能的。在C++中,这就是所谓的数据断点。它允许您在运行程序更改内存块时中断。但这只能在纯本机C++代码中使用。
这只是实现托管断点的问题之一。 |
|
|
2
0
我想你这么做是因为你想知道价值的变化是从哪里来的。您已经说明了我一直使用的方法:创建一个属性,然后断开set访问器(除非您必须始终使用该set访问器才能工作)。 基本上,我会说,因为私有字段是唯一的存储,所以不能在它上面中断,因为私有字段不是可中断的指令。 |
|
|
3
0
|
|
|
4
0
就像克里斯所评论的那样。您可以设置“数据断点”,但只能为本机(非托管)代码设置。当垃圾收集器运行时,垃圾收集器将移动分配的内存块。因此,托管代码不可能有数据断点。 否则,不能。您必须封装对要“修改时中断”的项目的访问权限。由于它已经是一个私有成员,我建议遵循Kibbee的建议,在使用它的地方设置断点。 |
|
|
5
0
使其成为其他类的属性,创建该类的实例,并在该属性上设置断点。
... 有
问题是,使用C#,所有东西的实际内存位置都在不断移动:因此调试器无法轻松使用CPU的“内存访问中断”调试寄存器,而调试器更容易实现代码位置断点。 |