我在一个类中有一个属性,它被某些东西改变了。我更改此代码值的唯一地方是一行,如下所示:
pushpin.Position.Altitude = -31;
在visual studio调试期间,有没有办法观察.Atitude对所做的任何更改,最好是在更改值的赋值语句中中断。
如果这是追踪此问题的正确方法,我是否可以获得有关如何执行此操作的分步教程/说明?
感谢。
答案 0 :(得分:12)
如果这是一个属性,那么您可以通过向属性的set方法添加断点来完成此操作。将光标放在set语句中并按F9将创建断点。
如果这是一个字段,则无法直接观看。当字段更改值时断开是C ++中支持的操作,称为数据断点,但CLR不支持。最好的解决方法是暂时将字段转换为属性并在set语句中断开。
修改强>
基于OP更新说它是第三方DLL。
在这种情况下,您希望使用Visual Studio的Break at Function功能。第一步是禁用Just My Code。
接下来实际设置命名断点
您可能需要完全限定名称才能使其正常运作
答案 1 :(得分:2)
您可以通过设置bp然后右键单击来设置条件断点,以指定在该行中断的条件。
您可以向变量添加“监视”,并指定在值变化的任何地方/任何时间中断。
答案 2 :(得分:0)
您需要设置数据断点。当某个内存地址发生变化时,数据断点将导致调试器中断。
More detailed description and instructions how to set a data breakpoint.