自动捕获poolmon的输出

我正在寻找使用poolmon的内存池泄漏。 在知识库文章中 ,他们解释了如何使用剪切和粘贴手动捕获输出。 没有办法自动化这个吗?

由于该工具似乎不支持它,我的想法是运行两个命令提示符(一个用于分页,另一个用于非分页池),并使用工具来自动截图。 如果这是可能的,你会build议哪个工具? 有没有一个工具,可以切断文本的命令提示符没有手动干预?

在版本5.2.3790.0(来自W2K3 RTM支持工具)中,您可以指定一个“快照”文件:

poolmon -n filename.log 

它会将分页和非分页池条目都写入这个文件。

我会使用计划的任务来定期运行以下内容:

 @echo off SET POOLMON="C:\Program Files\Support Tools\Poolmon.exe" SET OUTDIR=C:\WINDOWS\TEMP SET YEAR=%DATE:~10,4% SET MONTH=%DATE:~4,2% SET DAY=%DATE:~7,2% SET HOUR=%TIME:~0,2% IF /I %HOUR% LEQ 9 SET HOUR=0%HOUR:~1,1% SET MINUTE=%TIME:~3,2% SET SECOND=%TIME:~6,2% SET ISODATE=%YEAR%-%MONTH%-%DAY%_%HOUR%-%MINUTE%-%SECOND% %POOLMON% -n %OUTDIR%\poolmon.%ISODATE%.log 

将POOLMON设置为指向Poolmon.exe和OUTDIR的path,指向要输出的任何目录,然后获得格式的输出文件:

 poolmon.YYYY-MM-DD_HH-MM-SS.log 

将该脚本投入计划任务,然后开始工作。

 Rem You need sleep.exe and poolmon to run. echo off C: cd \ MD Poolmon-log cd poolmon-log explorer c:\poolmon-log SET POOLMON="Poolmon.exe" SET OUTDIR=C:\poolmon-log\ SET YEAR=%DATE:~8,4% SET MONTH=%DATE:~3,2% SET DAY=%DATE:~0,2% SET HOUR=%TIME:~0,2% IF /I %HOUR% LEQ 9 SET HOUR=0%HOUR:~1,1% SET MINUTE=%TIME:~3,2% SET SECOND=%TIME:~6,2% SET ISODATE=%DAY%-%MONTH%-%Year%_%HOUR%-%MINUTE%-%SECOND% :Top1 %POOLMON% /p /p /b -n %OUTDIR%poolmon-%ISODATE%.log sleep 3600 goto top1 pause 

上述作品在爱尔兰。 资源pipe理器将自动打开文件夹进行查看。 日志每30分钟倾倒一次。