如果要想象一个程序的运行,我想一个人可以从获取程序的调用图开始。
但是如何在运行时获得c / c ++程序的调用图?
编辑:澄清,我目前正在使用g ++在linux上运行,但我想如果我使用不同的平台,我也对解决方案感到好奇。
答案 0 :(得分:5)
答案 1 :(得分:4)
您可以使用 KCachegrind 根据 Valgrind's callgrind工具生成的数据生成和分析调用图。
答案 2 :(得分:1)
摘自主页:
C ++ Bug Validator在应用程序运行时提供自动执行历史记录。 无需重新编译或重新链接您的应用程序。 C ++ Bug Validator与调试信息和/或MAP文件一起使用。 C ++ Bug Validator允许您在整个应用程序或仅需要的DLL上执行执行历史记录。
(来自我的标记)。
我不知道他们是如何这样做的,但很明显,这是可能的。