首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >调试器中的单步执行和单步执行有什么不同?

调试器中的单步执行和单步执行有什么不同?
EN

Stack Overflow用户
提问于 2010-08-27 09:27:09
回答 2查看 141.2K关注 0票数 238

我想调试一个(Java)程序的整个流程。我看到有几个选项可以单步执行我的程序。step is和step over之间的区别是什么

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-27 10:04:16

考虑下面的代码,当前指令指针(下一步要执行的行,由->指示)位于g()中的f(x)行,已被main()中的g(2)行调用

public class testprog {
    static void f (int x) {
        System.out.println ("num is " + (x+0)); // <- STEP INTO
    }

    static void g (int x) {
->      f(x); //
        f(1); // <----------------------------------- STEP OVER
    }

    public static void main (String args[]) {
        g(2);
        g(3); // <----------------------------------- STEP OUT OF
    }
}

如果您要在此时单步执行,您将转到f()中的println()行,单步执行函数调用。

如果您在这一点上单步执行,您将移动到g()中的f(1)行,单步执行函数调用。

调试器的另一个有用功能是步出或步回。在这种情况下,步骤返回基本上会让你遍历当前函数,直到你返回一个级别。换句话说,它将遍历f(x)f(1),然后返回到调用函数,最终在main()中的g(3)结束。

票数 322
EN

Stack Overflow用户

发布于 2010-08-27 09:30:56

step into将深入研究方法调用

跳过将只执行该行并转到下一行

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3580715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档