好久没写技术博客了,之前写的都是关于linux环境下资源监测方面的内容,比赛做完以后改做Android移动平台的研究,主要关注能耗这部分,有兴趣的童鞋可以多交流。
最近因为工作需要我需要分析JAVA程序,师兄师姐们首推SOOT,看过入门文档后也觉得SOOT功能很强大,上次去PLDI会议的workshop还看到了现在SOOT的负责人Eric Bodden,很帅的一个小伙子,言归正传~
Soot的安装和使用参考官网http://www.sable.mcgill.ca/soot/ 的supervisor guide就可以,跑通里面的例子就能对soot的功能有大体的了解。下面是我在后期使用遇到的问题及解决办法。
1. Error: class com.ByteCodeStyle read in from a classfile in which ByteCodeStyle was expected.
这个问题是在程序内部设置了 -soot-classpath, -process-path参数后出现的。
-soot-classpath:C:\*****\workspace\SeeByteCode\bin\com
-process-path:C:\*****\workspace\SeeByteCode\bin\com
从逻辑上考虑我已经将要处理的类ByteCodeStyle的路径告诉了soot,