相关疑难解决方法(0)

获取图片函数的工具调用代码图

我有一个很大的工作空间,有许多C代码的源文件.虽然我可以使用Object浏览器看到从MS VS2005中的函数调用的函数,但是在MSVC 6.0中,这只显示了在非图形显示中从特定函数调用的函数.另外,它没有显示从say开始调用的函数main(),然后是从它调用的函数,依此类推,更深入到叶级函数内部.

我需要一个工具,它会给我一个功能调用图,用图形表示功能callee,caller用箭头或类似的东西连接,从main()最后一级功能开始,或者至少在一个C源文件中以图形方式显示所有功能的调用图.如果我能打印这张图表会很棒.

任何好的工具(不一定是免费的工具)?

c function call-graph

102
推荐指数
7
解决办法
11万
查看次数

目标文件和静态库(存档文件)之间有什么区别?

似乎存档文件可以从目标文件生成:

ar rvs libprofile.a profile.o
Run Code Online (Sandbox Code Playgroud)

目标文件和存档文件之间有什么区别?

在我看来,两者都可以直接与gcc一起使用,例如:

gcc *.c profile.o 要么 gcc *.c libprofile.a

有什么不同?

object archive

23
推荐指数
1
解决办法
5778
查看次数

从ANSI C代码获取控制流图

我正在构建用于测试ansi c应用程序的工具.只需加载代码,查看控制流图,运行测试,标记所有被击中的顶点.我正在尝试通过解析代码来自己构建CFG.不幸的是,如果嵌套代码,它会搞砸.GCC提供从编译代码中获取CFG的能力.我可能会为其输出编写解析器,但我需要行号来设置断点.使用-fdump-tree-cfg或输出控制流图时是否有获取行号的方法-fdump-tree-vcg?

c gcc graph ansi

10
推荐指数
2
解决办法
1万
查看次数

将printf添加到文件中所有函数的开头

我有一些非常大的C文件,有很多功能.我需要在运行时跟踪执行路径.我无法通过调试来跟踪它,因为它是一个当前在qemu上运行并执行大量二进制转换的管理程序代码.

任何人都可以指向Perl或Python中的一些脚本,它可以printf在所有函数的开头添加一个脚本,文本可以是"我在<函数名>"吗?

c python perl

8
推荐指数
1
解决办法
766
查看次数

标签 统计

c ×3

ansi ×1

archive ×1

call-graph ×1

function ×1

gcc ×1

graph ×1

object ×1

perl ×1

python ×1