4.2 内存使用率分析
我们在开发过程中,经常会遇到内存泄漏的问题,为了定位内存泄漏的代码位置,这时我们就可以使用Visual Studio性能探测器下内存使用率工具来对对应项目模块的代码进行内存泄漏分析。
具体操作步骤如下:
(1)将需要执行性能分析的项目设置为启动项。
(2)选择“分析”> “性能探测器”,打开性能分析设置界面:
(3)去掉默认勾选的CPU使用率后,勾选上内存使用率,然后点开始进行内存分析:
在初始时刻,点击“快照拍摄”,获取该时刻的内存使用情况。然后在你认为内存已经存在泄漏的时刻,再点击“快照拍摄”,获取新时刻的内存使用情况。
点“停止”,可以看到几个快照时刻的内存使用情况,发现存在明显的内存增加。
点击增加的内存“+29.5MB”,会出现如下图的详细数据界面:
从图中可以看出,是fun2这个接口的内容存在内存泄漏。代码如下:
struct Test1
{
char* m_str;
int m_i;
};
void fun2()
{
Test1* p = nullptr;
for (int index = 0; index < 100000000; ++index)
{
p = new Test1();
}
}
int main()
{
//fun1();
fun2();
getchar();
return 0;
}