Adrninistrator / java-all-call-graph

Generate all call graph for Java Code.
Apache License 2.0
438 stars 111 forks source link

test.jacg.TestRunnerGenAllGraph4Callee: ERROR 指定的完整类名 xxxx 不存在 #62

Closed zhzhdoai closed 6 months ago

zhzhdoai commented 6 months ago

大佬好。配置如下 1.allowed_class_prefix配置了需要被如分析的包名如:com.project 2.method_class_4callee.properties配置规则:java.io.ObjectInputStream:readObject

运行:java -Dfile.encoding=UTF-8 -cp .:./config:./jar/run_jacg.jar:./lib/* test.jacg.TestRunnerGenAllGraph4Callee

[main] ERROR AbstractRunnerGenCallGraph.doGetSimpleClassName(258) - 指定的完整类名 java.io.ObjectInputStream 不存在,请检查,可能因为指定的类所在的jar包未在配置文件 _jacg_config/jar_dir.properties中指定

如上配置会导致cfg不完整,仅保留了com.project包名相关的CFG。所以在缺少被分析的jar包情况下,是否有配置能够自动补全cfg。

Adrninistrator commented 6 months ago

这是来自zhengyi的邮箱的自动回复邮件。您好,您给我发邮件时我的邮箱未打开,我无法亲自回复您的邮件。我将在进入邮箱后,尽快给您回复。

Adrninistrator commented 6 months ago

如果需要分析java.io.ObjectInputStream:readObject方法被调用情况的话,可以把allowed_classprefix内容清空,或者加上java.io.ObjectInputStream或java. 大概知道你需要做什么了$$

zhzhdoai commented 6 months ago

解决了,感谢大佬,工具很不错♥️

Adrninistrator commented 5 months ago

提交了新的版本2.0.0,对处理这类方法应该有帮助 参考 https://github.com/Adrninistrator/java-callgraph2/issues/47