就是把一个程序跑的所有函数名都按顺序打印出来,caller callee之间的关系也要分清。
最近接手了一个老项目,极其混乱,以往都是用gdb一步步走下去,但这个工程滥用template,经常走了几十步还是在几个文件里打转转。
我尝试用-finstrument-functions在每个function进出的地方打印trace,然后再用graphviz转化成png,function之间用箭头连接,caller callee用双箭头。但这只适用于小程序,对于大程序图片巨大,而且箭头的跨度也极大,node也不能collapse,很不方便。
我觉得html的树结构就比较理想。function从上到下按运行顺序排列,如果有sub func就有下一层tree,还能collapse。但html的格式看着头疼,有没有自动转换的工具?
诸位大佬给点意见?
--
FROM 73.170.143.*