跟随并保存代码流

时间:2012-09-04 08:02:09

标签: c tracing kvm

我想知道是否有任何编译程序(我自己的程序或开源程序)的方法,我可以在执行它时跟踪该程序的流程。理想情况下,我想输出程序执行时经过的具体方法。每当它调用一个特定的方法时,我想输出它已经这样做了,我想保存到一个文件中供以后分析。

例如,我试图更好地理解KVM(一个开源虚拟机管理程序)中的流程,但显然有很多代码行,并且我不可能知道代码的去向,除非我专门花费数周的时间来寻找出。

我正在查看的代码主要是用C语言编写的,但也使用其他语言。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

KVM是Linux内核的子系统,因此您应该使用ftrace(http://lwn.net/Articles/322666/)来跟踪内核空间代码。