使用umdh检测内存泄露
2014-12-02 12:19
204 查看
使用WinDbg的工具umdh可以检测内存泄露,写了个批处理《AnalyzeMemoryLeak.bat》,方便调用,使用时可能需要先修改批处理文件中的程序名和路径。记录下来备忘。
@echo off set imagename=Console.exe set pdbpath=D:\VC6\Console\Debug; setlocal enabledelayedexpansion set currentdir=%~dp0 cd /d "C:\Program Files (x86)\Debugging Tools for Windows (x86)" gflags /i %imagename% +ust set _NT_SYMBOL_PATH=srv*downstreamstore*http://msdl.microsoft.com/download/symbols;%pdbpath%; echo _NT_SYMBOL_PATH=%_NT_SYMBOL_PATH% echo 打开应用程序,并运行一段时间,然后按任意键收集第一个内存日志《1.log》... pause>nul echo %date% %time% 程序状态: tasklist /FI "IMAGENAME eq %imagename%" set /P pid=输入应用程序的PID: umdh -p:%pid% -f:"%currentdir%1.log" echo 已生成第一个内存日志《%currentdir%1.log》 echo 继续运行应用程序,然后按B键收集第二个内存日志《2.log》... :LoopTaskList echo %date% %time% 程序状态: tasklist /FI "PID eq %pid%" choice /t 1 /n /c wb /d w>nul if %errorlevel%==2 goto :LoopTaskListOut set /a line=5*10+2 set "k=" for /l %%a in (1,1,%line%) do set "k=!k!" 2>nul echo !k! goto :LoopTaskList :LoopTaskListOut umdh -p:%pid% -f:"%currentdir%2.log" echo 已生成第二个内存日志《%currentdir%2.log》 echo 正在生成内存对比日志《12.log》... umdh -d -v "%currentdir%1.log" "%currentdir%2.log" > "%currentdir%12.log" start "" "%currentdir%12.log" echo 已生成内存对比日志《%currentdir%12.log》,按任意键退出. pause>nul
相关文章推荐
- 使用UMDH查内存泄露
- 使用xcode4.2检测内存泄露leak的具体位置的两种方法总结
- vs2010使用vld检测内存泄露
- VC使用CRT调试功能检测内存泄露的方法
- 使用 Visual Leak Detector 检测内存泄露
- Cocos2d-x学习(二十四):vs2010使用vld检测内存泄露
- 使用Visual Leak Detector检测内存泄露
- iPhone Instruments工具使用_检测内存泄露(转)
- vc 无法检测到COM的错误使用造成的内存泄露
- 检测由new/delete使用不当引起的内存泄露
- Wince内存泄露检测工具Application Verifier的使用和如何快速定位泄露语句(二)
- 使用xcode4.2检测内存泄露leak的具体位置的两种方法总结 .
- C++内存泄露检测工具Visual Leak Detector的使用
- BoundsChecker 内存泄露 检测 简易使用教程
- VS2005 下使用BoundsChecker检测内存泄露
- 使用xcode4.2检测内存泄露
- 使用xcode4.2检测内存泄露leak的具体位置的两种方法总结
- valgrind工具的使用,检测内存泄露
- vs2010使用vld检测内存泄露
- JAVA内存泄露检测工具如何使用