【问题标题】:How can i stop the debugger in a particular variable value?如何在特定变量值中停止调试器?
【发布时间】:2023-04-03 08:45:01
【问题描述】:

当某些特定变量具有定义的值时,我如何设置调试器停止?例如,我有一个代码它崩溃了,它循环了 10000 次以进行一些后处理。我知道错误可能是从 7000 迭代开始产生的,所以我想从那里停止,避免从第一个 7000 开始手动循环。 我在 c# 中使用 Visual Studio 2008 和 2010,我认为两者的解决方案是相同的。

【问题讨论】:

    标签: visual-studio debugging


    【解决方案1】:

    您正在寻找的是一个条件断点。以下是假设变量名称为i 的设置方法。

    • 设置值后在行上设置普通断点
    • 右击断点的红点部分,选择“条件”
    • 输入要检查的条件。示例:i == 10000
    • 点击确定

    现在再次运行你的场景,只有当i 的值等于10000 时才会触发断点。

    一句警告。您可以将几乎任何合法的 C# 表达式放入条件断点,但每次遇到断点时都会对其进行评估。如果使用复杂的条件,这可能会导致调试非常缓慢

    【讨论】:

    • 优秀的@Jared,该上下文菜单还提供其他停止机制,永远不要在我的脑海中右键单击红球,谢谢。
    • 如果我只知道变量值(没有变量名)怎么办?如果任何局部变量已经分配了我正在寻找的值,是否可以破坏代码?
    【解决方案2】:

    打开断点窗口并从其菜单中创建一个新的数据断点。

    【讨论】:

      【解决方案3】:

      简单的方法是:

      如果(名称变量 = X){ 断点:名称变量; }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-10
        • 1970-01-01
        • 2010-10-05
        相关资源
        最近更新 更多