我正在基于网络的应用程序上工作。我想查看应用程序不同阶段之间的内存使用情况,例如初始化和发布之间的内存使用情况或发送和接收之间的内存使用情况。我已经用谷歌搜索并尝试找到一种解决方案,但是找不到与我的要求完全匹配的帖子。

大家,请提出可以帮助我在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 Ultimate上使用Visual Studio 2010 Professional。

最佳答案

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

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

关于c++ - 是否有任何工具支持针对C++的基于检查点的内存使用情况分析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12404134/

10-11 18:30