码迷,mamicode.com
首页 > 其他好文 > 详细

Soot生成代码控制流图

时间:2018-10-01 19:14:57      阅读:506      评论:0      收藏:0      [点我收藏+]

标签:进入   java7   png   图形   代码   bsp   当前目录   文件   功能   

Soot可以对代码进行分析,提供了多种字节码分析和变换功能,通过它可以进行过程内和过程间的分析优化,以及程序流图的生成,还能通过图形化的方式输出。

http://www.brics.dk/SootGuide/上面有官方的guide

 

1. 环境准备:

a. 下载安装java7,不能用java8 (soot3.0.1可以用java8)

b. 下载soot jar包 https://www.sable.mcgill.ca/soot/soot_download.html

c. 设置好 JAVA_HOME

d. 将soot-2.5.0.jar和test.java文件放到同一个目录下,如 D:\\testflow

 

2. 运行步骤

a. 命令行方式进入D:\\testflow, 编译java源文件   javac test.java

 

b. java -cp soot-2.5.0.jar soot.tools.CFGViewer --soot-classpath .;"%JAVA_HOME%"\jre\lib\rt.jar test

,在当前目录下会生成sootOutput文件夹,生成test.dot文件 

 

c. 下载graphviz(任意版本),解压后bin目录里运行dot -Tpng test.dot -o testflow.png

生成的控制流图如下:

技术分享图片

 

Soot生成代码控制流图

标签:进入   java7   png   图形   代码   bsp   当前目录   文件   功能   

原文地址:https://www.cnblogs.com/blainew/p/9693538.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!