如果我从命令行使用McGill University Soot作为独立应用程序,如何获取它来生成调用序列图?
在Soot的文档和A Survivor’s Guide to Java Program Analysis with Soot中,提到了Soot可用于为整个应用程序(或其中的至少多个类)生成调用序列图的事实。也许我忽略了一些重要的文档(大多数文档似乎与框架的内部有关,而我一开始并不十分了解),但是我看不到如何使它完成我想要的事情。 (尽管可能的话,我希望不必编写自己的扩展名,尽管我得到的印象是所需的。)
注意:我尝试使用JAnalyzer,它使用了Soot。但是,它存在编译时无法识别应用程序源代码中Map<K, V>
行中的左尖括号(counter=-1
)的问题。我还研究了类似于this one的问题。一些答案建议使用Soot,但没有详细说明如何做到这一点。