我有一个用C++编写的程序,想要对其进行性能分析,并且希望在开始和停止性能分析时无需重新启动程序。理想情况下,我想同时对CPU使用率和内存分配进行性能分析。是否有任何工具可以实现这一点?我正在Linux上运行。
如果你仅需要简单的指标,过去我实现了一个简单的分析器。跟踪内存和时间。跟踪每个函数的开始和结束,并在开头和结尾打印一行。如果重要的话,跟踪之前和之后的内存。所有这些都通过一个运行时变量进行控制,你可以在外部更改它。在 Web 应用程序中,它可以是额外的 post/get 参数。在厚客户端程序中,它可以是一个额外的开关。然后,在运行时,你可以开始收集数据。过去我也添加了多个级别,以允许选择性和更详细的数据收集。祝你好运。