有没有办法显示函数调用图?

时间:2010-10-07 14:24:52

标签: language-agnostic ide graph stack

在我的IDE中浏览源代码时,我有时希望能从代码中的特定点看到调用堆栈/函数调用图(当程序没有运行时)以帮助我理解序列事件更好。

我希望看到的功能示例如下: 我点击一个名为'sendNotificationEmail'的函数 并显示“堆栈”功能(所有者在右侧):

sendNotificationEmail->EmergencyNotificator->CheckIfServersOnFire->UpdateThread->Main

我的问题是:任何ides / plugins /或其他显示此类信息,如果没有 - 为什么?

这个问题不是IDE或特定语言。

3 个答案:

答案 0 :(得分:2)

这确实倾向于IDE /语言特定。 IntelliJ和Eclipse都有可用于Java方法的调用层次结构,它允许您查看给定方法的调用者和被调用者。 Visual Studio为MS语言提供了类似的功能。

对于不太主流的语言,如果可用的工具不适合,您可能需要吞下一些Rich Programmer Food

答案 1 :(得分:2)

Doxygen是一个可以获取代码并创建调用图,UML图,类层次结构等的工具......它适用于C ++,Java等。它产生HTML和Latex的输出,我想其他。它可以在Linux,Mac和Windows上运行。

在大多数情况下,它是一个独立的程序。但是,您可以在KDevelop IDE中使用它来执行Doxygen输出的一些基本预览。

答案 2 :(得分:1)

Visual Studio 2005可以做到这一点(我也假设更新的版本):

http://msdn.microsoft.com/en-us/library/z3zaa390(VS.80).aspx

结果在单独的视图/窗口中显示为树。