如何在Visual Studio中设置条件断点?

时间:2011-07-12 20:08:14

标签: c# .net visual-studio breakpoints

是否有一种在Visual Studio中设置条件断点的简单方法?

如果我只想在变量的值变成某个东西时才打破断点,我该怎么办呢?

13 个答案:

答案 0 :(得分:155)

像往常一样设置断点。右键单击它。单击条件。

答案 1 :(得分:44)

使用Express版时,可以试试这个:

#if DEBUG
    if( fooVariable == true )
        System.Diagnostics.Debugger.Break();
#endif

if语句确保在发布版本中不会出现breakepoint。

答案 2 :(得分:32)

Visual Studio为条件断点提供了许多选项:

设置其中任何一个

  1. 设置断点
  2. 右键单击断点,然后在弹出菜单中选择一个适合您的选项。
  3. 这些选项如下:

    • 您可以根据您提供的代码表达式设置条件(从弹出菜单中选择条件)。例如,您可以指定foo == 8或其他表达式。
    • 您可以在遇到一定次数后触发断点。 (从弹出菜单中选择点击计数)。这是一个有趣的选项,因为您实际上不仅限于打破某个命中数,但您也可以选择其他一些方案。我会留给你探索可能性。
    • 您可以在进程ID,线程ID和计算机名称上设置过滤器(从弹出菜单中选择过滤器

答案 3 :(得分:16)

只是另一种方式,(或者如果你使用快递)在代码中添加条件:

if(yourCondition)
{
    System.Diagnostics.Debugger.Break();
}

答案 4 :(得分:9)

  1. 在行
  2. 上设置断点
  3. 右边的红球
  4. 选择条件断点
  5. 设置条件

答案 5 :(得分:7)

写出实际情况可能是棘手的部分,所以我倾向于

  1. 设置常规断点
  2. 运行代码,直到第一次点击断点
  3. 使用立即窗口(调试> Windows>立即)测试您的表达
  4. 右键单击断点,单击条件并粘贴到您的 表达即可。
  5. 使用立即窗口的优点

    • intellisense
    • 在评估表达式时,您可以确定表达式中的变量
    • 您可以确定您的表达返回true或false

    当代码引用名称为"设置"

    的表时,此示例会中断
    table.GetTableName().Contains("Setting")
    

答案 6 :(得分:5)

像往常一样创建断点,右键单击红点并选择“条件”。

答案 7 :(得分:5)

  1. 像往常一样设置断点。
  2. 右键单击断点标记
  3. 点击"条件......"
  4. 写一个条件,你可以使用变量名
  5. 选择"是真"或"已更改"

答案 8 :(得分:4)

  1. 照常设置断点
  2. 右键单击断点并选择条件
  3. 您会看到一个显示“断点条件”的对话框
  4. 在该字段中设置条件,例如“i == 5”
  5. 断点只会在我5岁时被击中。

答案 9 :(得分:4)

在Visual Studio 6.0上

替代 + F9 !!!

答案 10 :(得分:1)

正常设置breakpoint,右键单击断点并选择condion选项并设置条件。

答案 11 :(得分:0)

创建条件函数断点

1)在“断点”窗口中,单击“新建”以创建新断点。

2)在“功能”选项卡上,键入“反转功能”。键入1表示Line,键入1表示Character,然后将Language设置为Basic。

3)单击“条件”并确保选中“条件”复选框。输入instr.length> 0表示“条件”,确保选中“是”选项,然后单击“确定”。

4)在“新建断点”对话框中,单击“确定”。

5)在“调试”菜单上,单击“开始”。

答案 12 :(得分:0)

如果您来自Google,则可能是您要搜索的答案。

  1. 单击“调试”>“新建断点”>“函数断点enter image description here

  2. 选择条件断点。