是否有任何工具支持C++基于检查点的内存使用情况分析

Is there any tool that supports checkpoint based memory usage profiling for C++

本文关键字:内存 用情 情况 检查点 任何 工具 支持 C++ 是否      更新时间:2023-10-16

我正在开发一个基于网络的应用程序。我想查看应用程序不同阶段之间的内存使用情况,比如初始化和发布之间的内存占用情况,或者发送和接收之间的内存利用情况。我已经在谷歌上搜索并试图找到一个解决方案,但没有一个帖子完全符合我的要求。

请各位提出任何工具或流程,帮助我在Linux和Windows平台上执行基于检查点的内存评测。

提前感谢


以下代码

_CrtMemState memState1;
_CrtMemCheckpoint(&memState1);
char *p = new char[100];
p = new char[100];
p = new char[100];
p = new char[100];
p = new char[100];
_CrtMemState memState2;
_CrtMemCheckpoint(&memState2);
_CrtMemState memStateDiff;
_CrtMemDifference(&memStateDiff, &memState1, &memState2);
_CrtMemDumpStatistics(&memStateDiff);'

给我输出

0 bytes in 0 Free Blocks.
0 bytes in 0 Normal Blocks.
0 bytes in 0 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 0 bytes.
Total allocations: 0 bytes.

我在Windows 7旗舰版上使用Visual Studio 2010 Professional。

基于检查点的内存使用内置于Visual C++中的调试CRT库中。

http://msdn.microsoft.com/en-us/library/974tc9t1(v=vs.80).aspx