我想知道如何使用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调试器都不会完成这项工作。
发布于 2013-10-09 00:39:29
大多数IDE都可以通过搜索来做到这一点。例如,在eclipse中,突出显示字段trackMe,然后按control+H将显示Java对话框。单击"search“将显示工作区中直接引用该字段的所有位置。
发布于 2013-10-09 00:53:33
也许我没有正确理解你,但这听起来很奇怪。也许如果你说出你想做的原因,它可能会更清楚。但是,如果您没有尝试使用在任何合适的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;
}
}可能看起来有点复杂,但信息毕竟是有限的:)
https://stackoverflow.com/questions/19260902
复制相似问题