【问题标题】:How to set a variable value and start running from that in Netbeans?如何在 Netbeans 中设置变量值并从该变量值开始运行?
【发布时间】:2012-07-08 07:41:13
【问题描述】:

我通过在Netbeans 中监视变量的值逐步运行程序。 如何从变量的特殊值开始运行程序。

例如,我有这个简单的代码只是为了测试: 为了节省时间,我想在 i 的值达到 25(i=25) 后查看程序的变化。

使用 Run Debug>Run to cursor 或 f4 转到程序中的这一行。然后程序从 i=0 开始,但我不需要查看 i=25 之前的更改。

public class DebugCondition {
private static void TestMethod()
{
            for(int i=0; i<= 29 ; i++)
            15.    System.out.print("i");
}
public static void main(String[] args) {
 18.    TestMethod();
    }
}

我做什么: 1.点击第15行。

  1. 通过 i>=25 为该行定义条件断点。

  2. 点击第 18 行,然后按 F4。

  3. 按 F7 进入方法,然后按 F8 调试方法体。

  4. 手表结果:起初我从 0 开始。

怎么了?

【问题讨论】:

  • 条件断点可能有帮助吗?
  • 断点是源代码中的一个标记,指示调试器在执行到达它时停止。但我想从一个特殊的变量值开始运行。
  • 不知道那是什么问题。您想将变量设置为您在程序之外定义的值吗?是这样的,有很多方法可以做到,比如命令行参数、环境变量、属性等等。
  • 我不经常调试,用笨办法:if (i == 25) { [breakpoint] }。你试过调试/新手表i == 25吗?
  • 只需在断点中添加一个条件,使其仅在i == 25时停止

标签: java netbeans watch


【解决方案1】:

在 Netbeans 菜单栏上选择 Debug -&gt; New Breakpoint...CTRL + SHIFT + F8

然后填写表格:

  1. Breakpoint Type 选择Line
  2. 输入Line Number,例如19是System.out.println(i)
  3. 勾选Break when hit count,选择is greater than并输入您想先开始的号码,或勾选Condition并输入i &gt;= 25
  4. 点击OK

public class DebugCondition {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        for(int i = 0; i <= 30; i++) {
            System.out.println(i);
        }
    }
}

它将在i = 25i = 30 开始调试。

更新:

确保当您尝试使用调试条件时,断点图标不是粉红色方块(见下图):

不是这样的(粉红色方形断点图标):

【讨论】:

  • 感谢您的友好回答。但我的问题不是那个。在您的示例中:我想从 i=2 开始运行(而不是停止)。我的问题是否含糊?
  • 这只是一个例子,如果你想解决你的问题而不是将i设置为26。
  • @SaraBony:已经根据您的问题更新了我的答案,希望您能理解我的...
  • 谢谢。仍然是一个问题。当我第一次品尝它时,它就起作用了。但是下次调试没有用。你有什么想法吗?
  • 不,我想我知道发生了什么:当断点行放在 Main 方法中时,它运行良好。但是“For”循环放在一个方法中,我使用F4从那一行method.t调试?还有其他方法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 2022-12-05
  • 2018-08-29
  • 1970-01-01
  • 1970-01-01
  • 2013-01-02
相关资源
最近更新 更多