如果要可视化程序的运行,我想应该从获取程序的调用图开始。
但是你如何在运行时获得 c/c++ 程序的调用图呢?
编辑:澄清,我目前正在Linux上运行东西,使用g ++,但我想如果我使用不同的平台,我也对解决方案感到好奇。
如果要可视化程序的运行,我想应该从获取程序的调用图开始。
但是你如何在运行时获得 c/c++ 程序的调用图呢?
编辑:澄清,我目前正在Linux上运行东西,使用g ++,但我想如果我使用不同的平台,我也对解决方案感到好奇。
您可以使用KCachegrind根据Valgrind 的callgrind 工具生成的数据生成和分析调用图。
来自 SoftwareVerify的Bug Validator(提供免费的公共测试版)可以做到这一点。
摘自主页:
C++ Bug Validator 提供应用程序运行时的自动执行历史记录。无需重新编译或重新链接您的应用程序。C++ Bug Validator 使用调试信息和/或 MAP 文件。C++ Bug Validator 允许您在整个应用程序上执行执行历史记录,或者只在您需要的 DLL 上执行历史记录。
(我的标记)。
我不知道他们是怎么做到的,但显然,这是可能的。