LeakDiag的使用和形成的LOG文件的分析方法
2016-04-07 16:23
309 查看
LeakDiag是微软一款检测memory leak的工具
安装默认是在c:\leakdiag下,完成后界面如下:
写如下的测试程序进行测试
#include
"stdafx.h"
#include
<windows.h>
int _tmain(int
argc, _TCHAR*
argv[])
{
for (int
i = 0 ; i < 10 ;
i++)
{
char *
pChar = new char[1000] ;
Sleep(5000) ;
}
return 0;
}
运行程序后(程序必须在调试状态下启动,否则报错),启动LeakDiag(必须在程序启动后启动leakdiag,leakdiag不会实时刷新,否则会找不到相应程序),找到对应的程序:
然后选择Windows Heap Allocator来跟踪heap的使用,按start开始,等一会按log,然后再stop9 R! E* m: P G# w3 V3 ~7 |
会在c:\leakdiag\Logs下面生成一个log
打开log,关键部分如下:
可以看到num = 6 的那行标注了内存泄露的源头,在mem_test.cpp 中的第12行(生成文件前,需要设置程序相应PDB位置,[Tools]-[Option]-Symbol search path):
注意:PDB路径不能包含中文字符
另外还有个log分析工具LDParser,正在学习中
相关文章推荐
- isKindOfClass|isMemberOfClass|conformsToProtocol|respondsToSelector|methodForSelector的详细介绍和区别
- Android 辅助服务资料收集
- java使用数组实现循环队列
- spring中事务传播下,特殊方法手动控制事务
- eclipse集成NDK开发环境
- 微信公众平台开发4-access_token获取与保持有效性
- Eclipse如何查看源码
- HDU 1049
- rabbitmq安装总结
- 二叉树--前序遍历、中序遍历、后序遍历、层次遍历
- 1000以内任意十个整数之和
- C++多线程编程参考
- Oracle的sql语句练习题含答案
- SQLServer还原数据库失败(Microsoft.SqlServer.Management.RelationalEngineTasks)
- 谈谈我写博客的一些想法
- 谈谈我写博客的一些想法
- SOA面向服务架构——SOA的概念
- jquery
- phpmyadmin #1045 - Access denied for user 'root'@'localhost' (using password: NO)
- 短信接口示例