2014-04-19 21 views
1

有没有办法让gprof生成的调用图显示函数的调用顺序?如果我有main() - > study() - > sleep() - > wakeup()和main() - > wakeup() - > study() - > sleep(),则生成的调用图实际上显示了这种执行顺序的差异。如何以执行顺序获得gprof调用图

基本上,我试图比较两个C文件,以便找出它们的函数的执行顺序是否有所不同。有没有更好的方法来做到这一点?

感谢

+0

拿@amdn建议。人们认为可怜的小gprof可以创造奇迹。它所做的只是在函数之间进行计数调用,对程序计数器进行采样,并进行一些数学计算。 –

回答

1

如果你是在Linux上,你可以在为Linux提供高效的跟踪工具尝试示踪剂像LTTng

https://lttng.org/ 

的LTTng项目的目的。其跟踪器可帮助跟踪性能问题并调试涉及多个并发进程和线程的问题。追踪多个系统也是可能的。