任何人都可以建议跟踪函数的每个调用吗?

pra*_*p19 3 c linux perl

我想跟踪函数调用的每个路径.例如:

int a()
{
    b();
    return 1;
}
void b()
{
}
int main()
{
    int x=a();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以我的调用跟踪是main-> a-> b这样我想跟踪每个设置的调用路径.我想到了深度优先搜索.但我不确定这会怎样.任何人都可以建议我在perl中实现任何具体方法吗?我将拥有C程序文件,并将在其上运行perl脚本以获取调用跟踪.

tcr*_*ley 5

本文中列出了许多免费的调用图程序,包括egypt,它是一个小的Perl脚本,它使用gcc和Graphviz生成C程序的静态调用图.