Adrninistrator / java-all-call-graph

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

请问一下:class_name表的写入逻辑大概是什么 #20

Open liliyue98 opened 2 years ago

liliyue98 commented 2 years ago

我浅浅做了一下测试: 1.为什么我删了一个类,这个类还能被找到?【原场景是我删除jar中一个class文件】 是因为被调用了吗?----如果是被调用了,那找到此处时没有文件会显示什么? 2.为什么class文件存在,但是这个类没有被记录进去【生成时报错了,说这个类不存在,但是源文件确实有,然后数据库没记录】

基于上述,所以想搞清楚class文件处理逻辑是啥,看代码好像.class都会处理0.0

Adrninistrator commented 2 years ago

1.被调用类即使不在当前所有指定的jar包中,在调用类的字节码中也还是存在,所以调用关系还是存在 2.一个类如果只调用了当前类的方法,现在没有被记录到数据库里,这是一个BUG,下个版本会修复

Adrninistrator commented 2 years ago

2.为什么class文件存在,但是这个类没有被记录进去【生成时报错了,说这个类不存在,但是源文件确实有,然后数据库没记录】

  1. 在0.7.7版本修复了这个BUG哈,可以试一下