https://blog.51cto.com/xjsunjie/382160
这个工具可以监视内存中总共使用的页面数和非页面的"内存池",以探测内存中有无"空洞"存在.内存中的所谓"空洞"是指:本来可供使用、但实际上并未使用的区域.减少空洞可以提高内存的使用效率,防止内存的浪费.与使用别的命令行程序不同,这个程序需要在加载运行之后才可以得到"在线"的提示帮助信息.另外,这个工具还需要一个叫做gflags的程序来配合,更麻烦的是程序gflags也像前面介绍的有些程序一样,具有适应两种环境的版本.这种互相交叉的用法使得不熟悉它们相互关系的人感到眼花缭乱.下面结合Poolmon.exe的使用,对二者都先介绍命令行的版本.
1、 在使用Poolmon.exe之前,必须先运行gflags.可以在“开始->运行”中键入cmd,点击确定打开命令行窗口,(注意:本文中所有命令行程序都可以先用cmd打开一个类似dos模式的窗口),然后在窗口中键入命令和参数,执行该命令行程序:gflags -r +ptg 参数的含义到介绍gflags的GUI版本时再解释.
2、 执行后重新启动计算机.
3、 重新启动成功后,即可在命令行中执行 poolmon
[popexizhi:
关于poolmon的tag问题
本来是打算用安装后和卸载后diff获得tag对比的,结果卸载程序后驱动还在poolmon中,还是和开发人员直接要吧!
另外这个tag用 findstr可以在二进制中搜索到,是明文字符。
]
參考:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/using-poolmon-to-find-a-kernel-mode-memory-leak
在 Windows 2000 和 Windows XP 上,必须先使用 GFlags 来启用池标记。 GFlags 包含在 Windows 调试工具中。 启动 GFlags,选择 " 系统注册表 " 选项卡,选中 " 启用池标记 " 框,然后选择 " 应用"。 您必须重新启动 Windows 才能使此设置生效。 有关更多详细信息,请参阅 GFlags。
在 Windows Server 2003 和更高版本的 Windows 上,始终启用池标记
没有评论:
发表评论