【问题标题】:any tools to trace code using eclipse line by line?有什么工具可以逐行使用eclipse跟踪代码?
【发布时间】:2019-09-09 10:10:02
【问题描述】:

我已经很久没有提出问题了,请原谅我的错误。

所以,我有一个我不明白的代码。它处理接口和超/子类。我什至有答案,但我只是不知道它是如何得到答案的。我的问题是,我将如何学习跟踪,或者有没有办法可以查看在 Eclipse 中首先执行哪些行?

例如,eclipse 或任何其他工具是否允许用户实际查看打印的行以及打印行的原因?

这是我的代码。我有正确的答案,但我只是不知道他们是如何追踪它的。任何帮助,将不胜感激。

interface Silly {
 public void narf();
 public void poit(Silly s);
}

public class Bird implements Silly {
 public static void main(String args[]) {

 System.out.println("zero");
 Silly s = new SillyBird(1);
 Silly s2 = new Loony();
 s.poit(s2);
 s2.poit(s);
 System.out.println("zymurgy");
 }
 public Bird() {
 this(0);
 System.out.println("zircon");
 }
 public Bird(int i) {
 System.out.println("zanzibar");
 }
 public void narf() {
 System.out.println("zort");
 }
 public void poit(Silly s) {
 s.narf();
 }
}

class SillyBird extends Bird {
 public SillyBird() {
 System.out.println("duchess");
 }
 public SillyBird(int i) {
 super(i);
 }
 public void narf() {
 System.out.println("drum");
 super.narf();
 }
}

class Loony extends SillyBird {
 public Loony() {
 System.out.println("stupendous");
 }
 public void narf() {
 System.out.println("snark");
 }
}

上述代码的输出是:

zero
zanzibar
zanzibar
zircon
duchess
stupendous
snark
drum
zort
zymurgy

【问题讨论】:

  • 您问的是 Eclipse 调试器吗?网上有很多关于这方面的资源,包括文章Debugging the Eclipse IDE for Java Developers
  • 那能帮我追踪上面的代码吗?
  • 我相信是的。按照文章中的说明设置断点,然后单步执行代码。

标签: java interface implementation superclass


【解决方案1】:

正如@Abra 在 cmets 中提到的,您可以在要查看的函数处设置断点,并使用“进入”操作来查看函数在执行时发生了什么。调试器会在执行的每一步向您显示所有局部变量和全局变量的状态

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 2011-07-29
    相关资源
    最近更新 更多