我想知道是否有任何编译程序(我自己的程序或开源程序)的方法,我可以在执行它时跟踪该程序的流程。理想情况下,我想输出程序执行时经过的具体方法。每当它调用一个特定的方法时,我想输出它已经这样做了,我想保存到一个文件中供以后分析。
例如,我试图更好地理解KVM(一个开源虚拟机管理程序)中的流程,但显然有很多代码行,并且我不可能知道代码的去向,除非我专门花费数周的时间来寻找出。
我正在查看的代码主要是用C语言编写的,但也使用其他语言。有什么想法吗?
答案 0 :(得分:2)
KVM是Linux内核的子系统,因此您应该使用ftrace(http://lwn.net/Articles/322666/)来跟踪内核空间代码。