使用LeakDiag调试内存泄漏

LeakDiag是一种用于检查进程内存泄漏的工具。LeakDiag功能是UMDH.exe功能的超集。UMDH只能显示标准堆管理器的分配信息,而LeakDiag还能显示com分配信息(包括内部和外部的),虚拟内存分配信息以及其它分配信息。LeakDiag在记录内存分配的栈回溯时不依赖操作系统的支持,而是通过Detours技术来拦截对内存分配的调用。这款工具的下载地址:ftp://ftp.microsoft.com/PSS/Tools/Developer%20Support%20Tools/LeakDiag/ 初始化设置 打开菜单Tools->Options,这里就是一些设置选项。你可以设置log文件的存放路径。也可以设置符号搜索路径,勾上在生成log时解析符号选项,就会把log中函数栈地址转换成函数名。不过这个解析符号的工作比较耗费时间。默认的微软符号是srv*c:symcache*http://msdl.microsoft.com/download/symbols 我建议在生成log的时候不要勾上在生成log时解析符号选项,因为这个会影响要调试进程的运行速度,导致某些跟时间相关的内存泄漏不在发生。 我们可以在事后根据dmp文件和符号文件重新去解析log文件。  记录进程内存分配 LeakDiag可以记录一下集中内存分配器的动作: Virtual... Read More | Share it now!