Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想知道是否有任何方法可以编译程序(我自己的程序或开源程序),当我执行该程序时,我可以使用它来跟踪该程序的流程。理想情况下,我想输出程序执行时所经过的具体方法。每次它调用一个特定的方法时,我想输出它已经这样做了,我想把它保存到一个文件中以供以后分析。
例如,我试图更好地理解 KVM(一种开源虚拟机管理程序)中的流程,但显然有很多行代码,除非我花几周的时间来找出代码,否则我不可能知道代码的去向。
我正在查看的代码主要是用 C 编写的,但也使用其他语言。请问有什么想法吗?
KVM 是 Linux 内核的子系统,因此您应该使用 ftrace (http://lwn.net/Articles/322666/) 来跟踪内核空间代码。