c++ - 有没有办法在 Visual Studio 中获取某些 c++ 函数的调用图?

我想知道是否有 VS 工具可以显示给定 C++ 函数的调用图(即列出所有可能执行路径的图)。在仅在少数地方调用函数的情况下,这将有助于导航大型代码库。

对于像 printf 这样经常调用的函数,它可以简单地说:

too many options...

再次,我想制作这样的工具并不容易,所以我想知道它是否存在,但你知道它似乎可以做到,所以你永远不知道...... :)

编辑:我知道找到所有引用,但这只是给出函数的调用点,而不是调用函数的函数的调用点...

编辑:VS 是 2010,但如有必要,可以选择 VS2012。

最佳答案

您提到您知道如何查找所有引用资料。您是否查看过 Call Hierarchy?这可能不是您的“梦想方法”,但它确实允许您根据给定函数的“调用”和“调用”来查看函数。该窗口还允许您添加多个功能以树格式查看。所以基本上你会在可能的结果中向上或向下遍历。

Right click on the desired method ( could be anywhere in the hierarchy ) =>

Select "View Call Hierarchy"

Note that if you can add more than one reference point to the window. Delete when needed

You could also use Ctrl+K or Ctrl+T


另一个很好的例子,恕我直言,对 C++ 和 C# 与 VS 之间的差异感到失望。我认为 Code Maps将正是您正在寻找的。当然,假设您使用的是 Ultimate,但不是,不是使用 C++。

https://stackoverflow.com/questions/16190058/

相关文章:

c# - 为什么某些 Microsoft 语言称为 "visual"? (Visual C#、Vis

c++ - 类成员和显式堆栈/堆分配

c++ - 条件变量 - 为什么在调用 pthread_cond_wait() 之前调用 pthre

c++ - 如何在编译时检查两种类型是否相同(如果它与 Boost strong typedef 一

c++ - 除以零 : Undefined Behavior or Implementation D

c++ - 如何在互斥锁中优先考虑特权线程?

c++ - Visual Studio 可以在重建前提示吗?

c++ - 模板类型的命名约定?

c++ - 定义一个结尾没有空终止字符(\0)的字符串

c++ - #include 在查找预编译头文件时跳过 -- 查找预编译头文件时文件意外结束