如何跟踪源代码调用堆栈

How to keep track of source code call stack

我正在尝试用 Go 重新实现 C++ 代码。具体来说,我专注于 OpenVDB 库的 meshToVolume tool

正如手动准备的 code flow screenshot 所示,即使是粗略的调用堆栈图也非常令人困惑。

我正在寻找一种工具来帮助我跟踪调用堆栈和代码流。到目前为止:

有人可以提出有用的建议吗tool/method?

使用 Doxygen,我终于可以可视化调用图

方法

Downloaded 并安装了 Doxygen。然后 运行 Doxywizard 即 Doxygen GUI 前端。 OpenVDB 有一个 doc 目录,它被设置为 Doxygen 将从中 运行.

的工作目录

如果不选择这些选项,就不会为我生成调用图:

我的机器上安装了 Graphviz DOT 语言。我可以用它来生成调用图:

最后,Doxygen 生成输出 HTML 可访问:

file:///C:/Users/m3/repos/doxygen-output/html/index.html

依赖图示例: