linux下追踪软件执行过程之cflow

最近因为做关于复杂网络节点的实验 其中需要用到一些软件的数据 就研究了一下虚拟机追踪软件的过程。

我用的是VMware Utbant 软件以cflow-1.1为例 进行一下总结*(前提是已经在Ubuntu安装了pvtrace和graphviz工具)

1 在电脑上装虚拟机VMware 虚拟机里装Linux系统Utbant

2 将事先下载好的软甲压缩包cflow-1.1.tar.gz放在Utbant的桌面 并解压缩(或在终端执行命令进行解压缩:tar zxvf cflow-1.1.tar.gz)

3 打开Utbant终端(Ctrl+alt+t)

4 进入桌面:cd Desktop

5 进入解压好的文件cflow-1.1:cd cflow-1.1

6 输入命令: ./configure

7 进入src:cd src ,看一下编译makefile

8 可以直接进行鼠标操作 打开src里的makefile 进行修改 改三个地方:

(1)添加红色框里的内容

(2)修改红色框里的内容(修改这个参数的作用是在程序中加入hook 使得在每次程序进入和退出时分别调用两个函数enter 和exit 获得函数地址)

linux下追踪软件执行过程之cflow_第1张图片

(3)添加红色框里的内容

linux下追踪软件执行过程之cflow_第2张图片

9 然后将insrtument.c复制到src文件里(pvtrace里的直接复制过来 用来生成trace文件 而且上述的修改makefile也是由于加入了这个文件)

10 在目录cflow-1.1下$ make

11 在目录cflow-1.1下$ make install

12 cd src

13 ls (列举出好多.c文件)

14 cflow ***.c (安装好了 我们就得用一下cflow 在用的过程中捕获调用关系 随便cflow一个.c文件就可以)

15 $pvtrace cflow(生成trace.txt)

16 src $ dot -Tpng graph.dot -o graph.png

至此 生成graph.dot文件和图像graph.png








你可能感兴趣的:(软件网络实验数据)