我正在寻找一种方法来跟踪C++程序中的内存分配.我对内存泄漏不感兴趣,这似乎是大多数工具试图找到的,而是为应用程序创建内存使用情况配置文件.理想输出可以是函数名称的大列表加上随时间推移的最大分配字节数,也可以是更好的堆积随时间变化的图形表示.横轴是时间,纵轴堆空间.每个函数都会获得它自己的颜色,并根据分配的堆字节绘制线条.用于识别分配的对象类型的加分点.
我们的想法是找到内存瓶颈/可视化哪些函数/线程消耗最多的内存,并且应针对进一步优化.
我简要地看了一下Purify,BoundsChecker和AQTime,但它们似乎并不像我追求的那样.Valgrind看起来很合适,但是,我在Windows上.Memtrack看起来很有前景,但需要对源代码进行重大更改.
我的谷歌技能一定让我失望了,因为它似乎不是这么罕见的要求吗?创建这样的工具所需的所有信息都应该可以从程序的调试符号和运行时API调用中获得 - 不是吗?