有什么方法可以设置依赖于值的断点吗?

时间:2010-12-08 04:33:41

标签: c# visual-studio visual-studio-2008 xna

我想知道,在Visual Studio 2008中是否有任何方法可以设置值断点类型?就像说有一个名为'test'的变量,我希望代码停止在整个项目中改变此变量值的任何一行。?

也就是说,我不想要任何特定于行的断点。我只是希望Visual Studio停在代码行中,对某些变量进行更改。

我所拥有的代码非常复杂,如果我能以某种方式获得上述功能,我将更容易调试代码。

3 个答案:

答案 0 :(得分:3)

是的,使用条件断点。

将断点设置为要调试的代码行。

然后右键单击红色圆圈(断点),单击“条件”。

然后设置您想要为断点的条件。 (例如,在“test”== 1)时中断。

请记住 - 您仍然需要在某处设置断点,因为它需要在条件中使用变量的范围。

HTH。

答案 1 :(得分:3)

您应该将变量封装在属性中,以便名为test的字段变为_testmTest或其他任何内容,并创建一个名为test的新属性,其他代码将使用该属性。您可以将断点放在属性的setter上。

所以没有

public int test;

你可以拥有

private int _test;

public int test
{
  get { return _test; }
  set { _test = value; } // Breakpoint goes here.
}

并且没有必要更改test的任何用户,除非他们已经编译过,在这种情况下你需要再次编译它们。

答案 2 :(得分:0)

使用条件断点,并在值中键入变量名称,并将复选框从“Is true”更改为“Has changed”。

要进行此设置,请左键单击出现断点的左侧列。将创建一个断点。

然后右键单击出现的红色字形,然后从下拉菜单中选择条件。

这可以让你到达你需要的地方。