Tag: 调用图

如何让gcc吐出从流图到源代码行号的映射

在给定C文件的情况下,gcc可以吐出所有函数调用的列表,文件名和行号都用于调用本身和函数声明吗? 我知道gcc不知何故用-g(调试器依赖它)保留这些信息,并且它可以使用-dr转储控制流图(但没有文件名或行号); 但是有一个现成的工具,需要gcc输出并做我想要的吗? 我希望这样一个工具使用gcc的原因是,这将允许我将它与大多数基于gcc的软件一起使用的标准构建系统一起使用(例如./configure && make),即使在依赖于他们自己的预处理器的工具的情况下也是如此和/或解析器是一个很大的麻烦。我已经知道了几个这样的工具,例如ctags。 所以这个问题是问题525899的后续问题 。

用于Windows平台的C / C ++调用图实用程序

我有一个很大的95%C,5%C ++ Win32代码库,我正试图解决。 有哪些现代工具可用于为C或C ++项目生成调用图表?

在调用函数时使GDB打印控制流程

如何调用感兴趣的gdb打印函数,根据堆栈的深度缩进? 我希望能够说出(制作): (gdb) trace Foo* Bar* printf 并让gdb打印所有以Foo或Bar开头的函数,因为它们被调用。 有点像gnu cflow,除了使用调试符号和仅实际调用的打印函数,而不是所有可能的调用流。 无法帮助的工具包括cachegrind,callgrind和oprofile,它们最常调用函数的结果。 我需要保留的调用顺序。 通配符(或等效的)是必不可少的,因为有很多Foo和Bar函数。 虽然我愿意完全记录所有function。 或者,也许告诉gdb记录特定库中的所有函数。 某些GDB向导必须有一个用于此常见作业的脚本!