我有一个很大的工作空间,有许多C代码的源文件.虽然我可以使用Object浏览器看到从MS VS2005中的函数调用的函数,但是在MSVC 6.0中,这只显示了在非图形显示中从特定函数调用的函数.另外,它没有显示从say开始调用的函数main(),然后是从它调用的函数,依此类推,更深入到叶级函数内部.
我需要一个工具,它会给我一个功能调用图,用图形表示功能callee,caller用箭头或类似的东西连接,从main()最后一级功能开始,或者至少在一个C源文件中以图形方式显示所有功能的调用图.如果我能打印这张图表会很棒.
任何好的工具(不一定是免费的工具)?
似乎存档文件可以从目标文件生成:
ar rvs libprofile.a profile.o
Run Code Online (Sandbox Code Playgroud)
目标文件和存档文件之间有什么区别?
在我看来,两者都可以直接与gcc一起使用,例如:
gcc *.c profile.o 要么 gcc *.c libprofile.a
有什么不同?
我正在构建用于测试ansi c应用程序的工具.只需加载代码,查看控制流图,运行测试,标记所有被击中的顶点.我正在尝试通过解析代码来自己构建CFG.不幸的是,如果嵌套代码,它会搞砸.GCC提供从编译代码中获取CFG的能力.我可能会为其输出编写解析器,但我需要行号来设置断点.使用-fdump-tree-cfg或输出控制流图时是否有获取行号的方法-fdump-tree-vcg?
我有一些非常大的C文件,有很多功能.我需要在运行时跟踪执行路径.我无法通过调试来跟踪它,因为它是一个当前在qemu上运行并执行大量二进制转换的管理程序代码.
任何人都可以指向Perl或Python中的一些脚本,它可以printf在所有函数的开头添加一个脚本,文本可以是"我在<函数名>"吗?