调用图

https://blog.csdn.net/qq_23599965/article/details/88815854

tceetree步骤

参考:https://www.zhihu.com/question/59227720/answer/215384169

#安装cscope graphviz
sudo apt-get install cscope graphviz

#安装tceetree
git clone https://github.com/amboar/tceetree
cd tceetree-master
make

#列出cscope需要分析的文件
find . -name "*.[c|h]" > cscope.files

#生成标签
cscope -Rcbkq

#分析标签,生成dot
#在dot文件里删改,可以删掉不需要的分支和结点
tceetree -f -o filename.dot # f选项带文件名

#生成图形 png svg pdf等,函数调用不建议png,放不下
dot -Tpdf -O filename.dot -o filename.pdf

生成的pdf文件如图所示,点击查看大图。

火焰图

https://github.com/brendangregg/FlameGraph

https://www.cnblogs.com/wx170119/p/11459995.html

步骤

以下操作权限不够记得sudo,还要先安装perf。

git clone https://github.com/brendangregg/FlameGraph
perf record -F 90 -p 14490 -g # -F表示每秒采样次数,-p表示的是进程号,-g表示记录调用栈
perf script -i perf.data &> perf.unfold
./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded
./FlameGraph/flamegraph.pl perf.folded > perf.svg

生成的svg文件如图所示,右键在新标签中打开图像,可以互动。