java - 煤烟的 Eclipse 类路径

标签 java eclipse eclipse-plugin soot

我正在编写一个程序来获取并打印程序的调用图。我使用 soot 来尝试获取调用图,并且我将要打印的 java 类作为参数传递,但是当我运行程序时,我收到一条消息,指出 soot 无法找到该类。如何配置 Eclipse 类路径来查找我想要打印的类?

我的代码:

public class CFG extends SceneTransformer
{    
    public static void main(String[] args) 
    {
        if(args.length == 0)
        {
            System.out.println("Syntax: java CFG [soot options]");
            System.exit(0);
        }            

        PackManager.v().getPack("wjtp").add(new Transform("wjtp.cfg", CFG.v()));

    // Just in case, resolve the PrintStream and System SootClasses.
    Scene.v().addBasicClass("java.io.PrintStream",SootClass.SIGNATURES);
        Scene.v().addBasicClass("java.lang.System",SootClass.SIGNATURES);
        soot.Main.main(args);
    }

    private static CFG instance = new CFG();

    public static CFG v() { return instance; }

    protected void internalTransform(String phaseName, Map options)
    { 
    System.out.println("Entering CFG transformer");
    System.out.println("phaseName = " + phaseName);
    System.out.println("options = " + options);
    CallGraph cg = Scene.v().getCallGraph();
    SootMethod m = Scene.v().getMainMethod();
    Iterator targets = new Targets(cg.edgesOutOf(m));
    while (targets.hasNext()) {
        SootMethod trgt = (SootMethod)targets.next();
    System.out.println(m.getName() + " -> " + trgt.getName() + ";");
    }
    System.out.println("Exiting CFG transformer");
     }
}

最佳答案

您需要使用 -w 标志启用整个程序模式。否则 w* 包不会被执行。

关于java - 煤烟的 Eclipse 类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19875809/

相关文章:

java - 如何访问两个不同的java实体作为支持bean方法中的参数

java - 使用 removeActionListener 但不删除 - JAVA

java - Eclipse 无法关闭 BEA WebLogic 服务器

eclipse - 自定义eclipse TM终端插件主题颜色

php - 使用 Aptana 插件通过 Eclipse 上传时的文件权限问题

java - 语音识别器 |什么都没说之后发生了什么(什么都没发生)?

java - 具有相同名称的类方法和变量,在 C++ 中编译错误而不是在 Java 中?

java - 直角三角形的长度 (Java Eclipse) : User input chart

eclipse - 如何将我的JavaFX项目设置为Gradle构建?

windows - Windows 的 Eclipse 深色主题 : how to change the color of scroll bars and title bars to dark?