如何跟踪源代码调用堆栈
How to keep track of source code call stack
我正在尝试用 Go 重新实现 C++ 代码。具体来说,我专注于 OpenVDB 库的 meshToVolume
tool。
正如手动准备的 code flow screenshot 所示,即使是粗略的调用堆栈图也非常令人困惑。
我正在寻找一种工具来帮助我跟踪调用堆栈和代码流。到目前为止:
- 我查看了 this post 并尝试了 BOUML,但没有帮助
- 此外,OpenVDB 有一个 Doxygen,但我在跟踪代码流和调用堆栈方面得不到太多帮助
有人可以提出有用的建议吗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
依赖图示例:
我正在尝试用 Go 重新实现 C++ 代码。具体来说,我专注于 OpenVDB 库的 meshToVolume
tool。
正如手动准备的 code flow screenshot 所示,即使是粗略的调用堆栈图也非常令人困惑。
我正在寻找一种工具来帮助我跟踪调用堆栈和代码流。到目前为止:
- 我查看了 this post 并尝试了 BOUML,但没有帮助
- 此外,OpenVDB 有一个 Doxygen,但我在跟踪代码流和调用堆栈方面得不到太多帮助
有人可以提出有用的建议吗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
依赖图示例: