1

我想知道如何使用 Java 类中的特定变量。是否有任何静态代码分析工具可以帮助我追踪变量。

例如:

Class A {
     int trackMe;
     function usedHere(trackMe);
     B bobject = new B(trackMe); 
     ...

    }

Class B {
      B (int var) {
         copyOfTrackMe = var;
      }
    }

在上面的示例中,如果我想跟踪变量“trackMe”。工具应该通知我 trackMe 被传递给函数 usedHere 以及复制的 B 的构造函数。

任何输入表示赞赏。

** * ** * *编辑* ** * ** *
我不想运行代码或更改代码以实现此目的。所以我想没有一个 IDE 调试器不能完成工作。

4

2 回答 2

0

大多数 IDE 可以通过搜索来做到这一点。例如,在 Eclipse 中,突出显示该字段trackMe,然后按 control+H 将弹出 Java 搜索对话框。单击“搜索”将显示工作区中直接引用该字段的所有位置。

于 2013-10-09T00:39:29.657 回答
0

也许我没有正确理解你,但这听起来很奇怪。也许如果你说你为什么要这样做,它可能会更清楚。但是,如果您还没有尝试使用任何体面的 IDE 中的标准调试器,您应该尝试一下,看看它是否是您想要的。你可以观察一个变量,看看它的内容是如何变化的。

但是,如果这是您想在代码中执行的操作,您可以尝试将变量包装在一个对象中并编写一个特殊的 getter 方法,该方法会在调用它时输出一些信息,例如:

class MyVarWrapper {
  private int myVar;
  public void MyVarWrapper(int n) {
    myVar = n;
  }

  public int getMyVar(String info) {
    System.out.println(info);
    return myVar;
  }
}

可能看起来有点复杂,但信息毕竟有限:)

于 2013-10-09T00:53:33.910 回答