函數調用關系圖


概述

在對源代碼走讀的過程中,我們可以借助一些工具來幫助理解源代碼的結構和函數調用關系,比如生成函數調用關系圖。

cflow工具通過分析一組C源文件,繪制出程序的邏輯流程圖和交叉引用列表,在此分析結果的基礎上,通過其他工具生成可視化的圖像文件,幫助我們理解源代碼。

環境

centos:CentOS release 7.0 (Final)或以上版本

freeswitch:v1.8.7

GCC:4.8.5

工具安裝

cflow安裝

wget https://ftp.gnu.org/gnu/cflow/cflow-latest.tar.gz

tar -zxvf cflow-latest.tar.gz

cd cflow-1.6

./configure

make

make install

 

tree2dotx腳本地址,shell腳本,拷貝到本地文件直接使用

https://github.com/tinyclub/linux-0.11-lab/blob/master/tools/tree2dotx

 

graphviz安裝

yum install graphviz

 

使用方法

進入tree2dotx腳本所在目錄,按照下面的步驟操作:

cflow -T -m main /root/freeswitch-1.8.7/src/switch.c > fs.txt

cat fs.txt | ./tree2dotx > fs.dot

dot -Tbmp fs.dot -o fs.bmp

 

下載fs.bmp文件,打開查看

 

總結

工具挺有趣的,但是對於freeswitch這種調用比較復雜的流程,圖片看起來也比較復雜,和我使用工具的本意有差距,希望對大家有所幫助。


 

空空如常

求真得真 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM