VS调试并观察变量的变量

Sha*_*ean 12 c# debugging visual-studio

我在一个类中的属性正在被某些东西改变.我更改此代码值的唯一地方是一行如下所示:

pushpin.Position.Altitude = -31;
Run Code Online (Sandbox Code Playgroud)

在visual studio调试期间,是否有一种方法可以观察.Atitude对所做的任何更改,最好是在更改值的赋值语句中中断.

如果这是追踪此问题的正确方法,我是否可以获得有关如何执行此操作的分步教程/说明?

谢谢.

Jar*_*Par 12

如果这是一个属性,那么您可以通过向属性的set方法添加断点来完成此操作.将光标放在set语句中并按F9将创建断点.

如果这是一个领域,那么就没有办法直接观察.当字段更改值时断开是C++中支持的操作,称为数据断点,但CLR不支持.最好的解决方法是暂时将字段转换为属性并在set语句中中断.

编辑

基于OP更新说它是第三方DLL.

在这种情况下,您希望使用Visual Studio的Break at Function功能.第一步是禁用Just My Code.

  • 工具 - >选项 - >调试器
  • 取消选中"启用我的代码"

接下来实际设置命名断点

  • 打开断点窗口(调试器 - > Windows - >断点)
  • 单击新按钮并选择"Break at function"
  • 输入属性的名称.例如:Position.set_Altitude

您可能需要完全限定名称才能使其生效