
描述: calltree.jpg
图片:
描述: tree.jpg
图片:
描述: calltreefilter.jpg
图片:
by falcon<zhangjinw@gmail.com>
2007-11-14
也许你对着一大堆数据无从着手,可却想找出数据中蕴藏的规律;也许你朦胧地知道文件系统就是一个树形的结构,但是却想有一个整体的轮廓;也许你对某个软件的结构略微清楚,但希望能够直观地看到整个软件的数据流程。
不错,开源世界可以满足你的需求,用gnuplot可以把统计数据完美地呈现在一个图中,用Graphviz的dot工具可以把文件系统、函数调用树完美的勾画出来。我们这里仅仅关注Graphviz,gnuplot的用法你可以从网络中搜索到成千上万的资料,也可以直接到官方去看文档。
Graphviz提供了一种描述图形的语言DOT,易于理解和通过脚本语言生成,dot工具可以根据DOT语言描述的图形绘制出各种格式的图形,这些格式包括svg和jpg等。
关于Graphviz的详细用法和使用文档这里不介绍,请看它的官方网站:http://www.graphviz.org
这里将主要介绍:如何把诸如文件系统、函数调用关系的结构通过Graphviz给呈现出来。
对于文件系统的结构,你可以通过tree命令展示出类似下面的结构。
对于函数调用关系,calltree(当然还有很多类似的工具,gprof,call,valgrind,kft,它们的原理可以看看第一篇参考资料)可以反应出来。这里看看calltree的结果(它的详细用法见参考资料)。
图片:
描述: tree.jpg
图片:

图片:

by falcon<zhangjinw@gmail.com>
2007-11-14
也许你对着一大堆数据无从着手,可却想找出数据中蕴藏的规律;也许你朦胧地知道文件系统就是一个树形的结构,但是却想有一个整体的轮廓;也许你对某个软件的结构略微清楚,但希望能够直观地看到整个软件的数据流程。
不错,开源世界可以满足你的需求,用gnuplot可以把统计数据完美地呈现在一个图中,用Graphviz的dot工具可以把文件系统、函数调用树完美的勾画出来。我们这里仅仅关注Graphviz,gnuplot的用法你可以从网络中搜索到成千上万的资料,也可以直接到官方去看文档。
Graphviz提供了一种描述图形的语言DOT,易于理解和通过脚本语言生成,dot工具可以根据DOT语言描述的图形绘制出各种格式的图形,这些格式包括svg和jpg等。
关于Graphviz的详细用法和使用文档这里不介绍,请看它的官方网站:http://www.graphviz.org
这里将主要介绍:如何把诸如文件系统、函数调用关系的结构通过Graphviz给呈现出来。
对于文件系统的结构,你可以通过tree命令展示出类似下面的结构。
$ tree -L 1 -d linux-2.6.22 |
对于函数调用关系,calltree(当然还有很多类似的工具,gprof,call,valgrind,kft,它们的原理可以看看第一篇参考资料)可以反应出来。这里看看calltree的结果(它的详细用法见参考资料)。
$ calltree -gb -np -m *.c |