如何在 Understand 中一次创建多个蝴蝶图?

How can I create several butterfly diagrams at once in Understand?

背景

Understand, there is the option to create a butterfly graph 的“显示图形视图”菜单中,对于一个特定实体,如下所示:

此外,还有und command。此命令具有 运行 个批量命令的能力,如下所示:

Once you have identified the commands you want to run using interactive mode, place those exact commands in a text file. No need to include the first und command or the quit command, those are handled automatically.

Then all you have to do is run

und myCommands.txt

我有 1000 多个 c++ 类 要为其创建蝴蝶图。鉴于 und 命令的自动化能力,以及理解为我想知道的各种实体创建蝴蝶图的能力....

问题

Understand有没有办法自动创建蝴蝶图?

是的,您可以使用 perl 或 Python 编写脚本... 打开工具,查看顶部菜单,帮助 >> Perl API 或帮助 >> Python API... API 上有帮助 他们展示了这样的示例(为所有函数创建“callby”图...),只需将其更改为 butterfly。

import understand
db = understand.open("test.udb")
for func in db.ents("function,method,procedure"):
  file = "callby_" + func.name() + ".png"
  print (func.longname(),"->",file)
  func.draw("Called By",file)