聊一聊 .NET高级调试 内核模式堆泄露
原文中文,约6100字,阅读约需15分钟。
📝
内容提要
本文介绍了内核模式堆泄漏的分析方法,包括内存分配和制造内核模式堆泄漏的过程。通过分析dump文件,发现了myfault.sys驱动程序导致的内存泄漏。文章展示了windbg的强大功能。
🎯
关键要点
-
文章介绍了内核模式堆泄漏的分析方法。
-
通过分析dump文件,发现myfault.sys驱动程序导致的内存泄漏。
-
内核模式堆泄漏的背景是内存不断上涨,任务管理器无法查出原因。
-
驱动程序通过ExAllocatePool2方法向操作系统请求内存。
-
使用NotMyFault工具可以制造内核模式堆泄漏。
-
通过Process Explorer可以观察到内存的分配情况。
-
分析dump文件时,使用!vm命令查看虚拟内存分布。
-
通过!poolused命令查看非换页池的内存分配情况。
-
最终在myfault.sys中找到内存泄漏的硬编码。
-
windbg工具在dump分析中展现了强大的功能。
🏷️