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