我尝试使用Windows上的Java版本8来运行此命令。
java -cp soot.jar soot.Main -cp ".;C:Program FilesJavajre1.8.0_151librt.jar" Example_4
我不断得到:线程" main" java.lang.error中的异常:错误:无法加载java.lang.charsequence。只有当我有System.out.ut.print作为我的源代码的一部分时,才会发生这种情况。否则工作正常。
源代码
package ExampleCodes;
public class Example_4
{
public static void main(String[] args)
{
int a = 10;
a++;
if(a<10)
a--;
else
a++;
int b = a + a;
System.out.println(a);
}
}
请使用烟灰直接分析 *。
另请参见:https://github.com/soot-oss/soot/issues/896
为了解决System.out.println
的调用,需要解决其依赖的所有基本Java类,包括CharSequence
。
您可以使用-pp
选项,而不是在-cp
中传递RT.JAR。然后,烟灰将自动从计算机上的Java安装中检索RT.JAR。