我可以设置一个断点,当variables在.NET中获得一个特定的值?
我正在使用Visual Studio 2010,我知道这个function在C ++中是可用的。
我需要debugging一些代码,将一个variables更改为几个值。 我想debugging特定情况下的代码,当variables获取特定的值时。 我知道我可以添加if(var == value)
,但有没有什么优雅的方式来做到这一点?
另一个问题,我可以设置一个断点当一个variables一般改变?
当然可以设置一个条件,如一个variables接收一定的值。 这被称为断点条件。 要创build一个,请执行以下操作。
- 在variables发生变化的地方设置一个断点
- 右键单击中断点并select“条件”
- input像“theNewValue == 42”这样的条件
现在只有当你的条件评估为真时,断点才会命中。
你所要求的第二个项目,当variables值由于任何原因而改变时,被称为数据断点。 这些仅适用于C ++代码。 这不是在C#, VB.NET或任何其他托pipe语言的选项。
只要您使用Express以外的Visual Studio版本,则可以使用断点条件在C#中实现此目的。
在“断点条件”对话框的“条件”框中input有效的expression式,例如myLocalVariable> 1
和
…如果在expression式的值发生变化时想要中断,则select已更改。
要进入“ 已更改”选项,请在“ 断点”窗口中右键单击断点,然后select“ 条件…” ,然后查看下面的截图。
用F9添加一个断点 – 右键点击它并select"Condition..."
– 现在你可以添加一个布尔条件,只有当条件结果为真时,断点才会被打。
这取决于你的断点的范围。 如果variables不是本地的或不是静态的,你将不能够。
要设置断点的条件,右键单击它,你应该得到这个屏幕:
select条件 …
您可以使用条件断点。 我知道你的问题是特定于VS2010的,但是请注意,从VS2012开始,你必须切换到托pipe兼容模式,才能在Visual Basic中使用条件断点。 为什么和如何描述在这里:
切换到pipe理兼容模式function于视觉工作室2013
你可以做这两件事情。
- 在VS中设置断点。 右键单击边距中的红点,然后select添加条件。 在那里你可以说
var==value
并select“是真的”。 - 你可以用上面的对话框中的“已更改”选项来实现。