C:\Program Files\Debugging Tools for Windows (x86)>gflags -p /enable L2.bin /ful
l /unaligned
path: SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
l2.bin: page heap enabled
C:\Program Files\Debugging Tools for Windows (x86)>
运行后,发现
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
l2.bin下存在以下键值:
GlobalFlag
gflags /p /disable l2.bin,禁用gflags
此方式对于堆破坏非常有效,因为堆破坏后,程序报错的地方很难是问题的源头,最好的办法是在第一时间让对堆的非法操作报错,这样就能找到根本原因
上述为测试天堂2发现堆破坏
/p /enable: 使用path,启用gflags,
/full:说明分配的空间是独占的,并且相邻的是不可访问的空间。
/unaligned说明分配空间时不对齐,保证一旦越界立即发现,不会因为内存对齐而隐藏起来。