获取进程的功能列表

时间:2016-02-10 11:21:21

标签: c++

我有一个c ++应用程序,它执行许多不同的任务。 应用程序很大,我在查找特定任务的代码时遇到问题。当我执行特定任务时,有一种方法可以获取项目中所有函数的列表(源代码),可以启动像正常的过程一样的shell。我不想在gdb中一步一步地走,因为它花了很多时间。

2 个答案:

答案 0 :(得分:1)

doxygen可以使用CALL_GRAPHCALLER_GRAPH设置为您完成这项工作:http://www.doxygen.nl/manual/config.html#cfg_caller_graph

但请记住,对于C ++来说这是一项艰巨的任务,因为它不能遵循虚拟调用,抽象类和类似的东西。所以它只能通过直接函数调用来猜测。

答案 1 :(得分:0)

使用Valgrind分析您的应用程序可以允许您生成完整的运行时调用图。见http://valgrind.org/docs/manual/cl-manual.html

一个名为KCacheGrind的强大工具用于可视化生成的数据。 Windows等效项为WinCacheGrind

在运行时执行时,您可以专注于要分析的特定进程,而静态解决方案将创建可能太大而无法使用的图形调用。