By Falcon of TinyLab.org
2015/04/15
最初发表:泰晓科技 – 聚焦嵌入式 Linux,追本溯源,见微知著!
原文链接:源码分析:动态分析 C 程序函数调用关系
评论说明:为更好地聚合大家的讨论,请到上面原文的评论区回复。
缘由
源码分析是程序员离不开的话题。无论是研究开源项目,还是平时做各类移植、开发,都避免不了对源码的深入解读。
工欲善其事,必先利其器。
之前已经介绍了如何通过 Callgraph 静态分析源代码,这里介绍如何分析程序运行时的实际函数执行情况,考虑到应用部分和内核部分有比较大的差异,该篇先介绍应用部分。
主要介绍三款工具,一款是 gprof
,另外一款是 valgrind
,再一款则是能够把前两款的结果导出为 dot 图形的工具,叫 gprof2dot
,它的功能有点类似于我们上次介绍的 tree2dotx
。