首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >静态代码分析Java

静态代码分析Java
EN

Stack Overflow用户
提问于 2013-10-09 00:25:52
回答 2查看 789关注 0票数 1

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

例如:

代码语言:javascript
运行
复制
Class A {
     int trackMe;
     function usedHere(trackMe);
     B bobject = new B(trackMe); 
     ...

    }

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

在上面的例子中,如果我想跟踪变量"trackMe“。工具应该通知我,trackMe传递给函数usedHere,也传递给B的构造函数,其中复制了一个副本。

如有任何投入,将不胜感激。

*******编辑*******

我不想为了达到这个目的而运行代码或修改代码。因此,我想所有的IDE调试器都不会完成这项工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-09 00:39:29

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

票数 0
EN

Stack Overflow用户

发布于 2013-10-09 00:53:33

也许我没有正确理解你,但这听起来很奇怪。也许如果你说出你想做的原因,它可能会更清楚。但是,如果您没有尝试使用在任何合适的IDE中找到的标准调试器,那么您应该试一试,看看它是否是您想要的。你可以观察一个变量,看看它的内容是如何变化的。

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

代码语言:javascript
运行
复制
class MyVarWrapper {
  private int myVar;
  public void MyVarWrapper(int n) {
    myVar = n;
  }

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

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

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

https://stackoverflow.com/questions/19260902

复制
相关文章

相似问题

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