c++ - 在运行时跟踪非托管函数调用?

标签 c++ windows visual-studio trace

是否可以在运行时生成函数调用树?我想了解一下程序在调用什么。

这在本质上与在特定位置中断、单步执行每个函数并记录函数名称是什么相同。我没有性能限制。

我正在使用 Visual Studio,但不是必须的。

//编辑

澄清一下,如果我有函数 A 调用函数 B 和函数 C,并且函数 B 调用函数 D,我想要以下示例输出:

(0.01s) -> Function A
(0.02s)   -> Function B
(0.02s)       -> Function D
(0.03s)    -> Function C

我不想要静态调用图。我想要运行时每个函数调用在堆栈上发生的情况。

最佳答案

您可能可以通过各种不同的方法实现它,但我认为您最好的选择是只使用分析器。

弄清楚“谁调用什么频率”正是该工具的用途。

关于c++ - 在运行时跟踪非托管函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3680986/

相关文章:

c++ - DirectShow 困境 - 无法录制

c# - 尝试在 Razor Pages 中添加脚手架项目时出错

javascript - 哪些控制台命令会将 JavaScript 项目构建到 .appx Windows 8 Metro 应用程序中?

c++ - 如何引用随机生成器?

php - Http 服务器使用 C++ 将数据发布到 php-cgi

c++ - 为什么我必须按 Enter 两次?

c++ - 是否有用于 Shell 扩展的点击处理程序

c++ - 使用 libpqxx 查看网络连接是否丢失

c++ - 是否可以删除由Windows下的进程打开的文件?

visual-studio - 乌龟SubWCRev.exe生成前事件