1. !heap -a 查看所有分配的内存
  1. !heap -s 查看当前内存
  1. 过一段时间再次通过!heap -s查看内存状态,找出增长较快的内存块,如 00b70000
  1. 查看内存详细情况 !heap -stat -h 00b70000,找出增长迅速的内存块大小,如 ea60
  1. 过滤查找进程中大小为ea60的所有进程块 !heap -flt s ea60
  1. !heap -p -a 71614e38 查看内存堆栈,定位泄露原因
 
bp ntdll!NtAllocateVirtualMemory ".if (qwo(@r9) ≥ 0x400){} .else{gc;}" 分配内存大于0x400时中断
 
使用WPR录制内存泄漏
  1. 启用调试选项
    1. // 开启TracingFlags后,进程PEB标志位会置为1,内核检测到后会打开该进程的内存分配跟踪 reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ckb.exe" /v TracingFlags /t REG_DWORD /d 1 /f
  1. 录制
    1. notion image
badge