我尝试了解W7报告的堆损坏(64位上的32位进程) ON XP this link通常足以理解,但不是W7
我正在使用: Microsoft(R)Windows调试器版本6.2.9200.20512 X86
我使用
发现了腐败现象 !heap –s –v
并尝试检查报告的已损坏块。
我无法理解Blink-> Flink有什么问题。 有没有人知道什么是错的,或者在哪里看!
这个堆的整个空闲列表(从!heap -a找到,是圆形的,是正确的吗?
0:000> !list -x "dd" -a "L2" -m 0n1000 9c6b7048
9c6b7048 06ca7008 9bf0d010
06ca7008 99491ef8 9c6b7048
<Cut Cut>
9c6b7048 06ca7008 9bf0d010
更新:
我已经检查过报告堆的测试过程是否正常,是的FreeList是循环的,最后一个条目指向开始。 在原始转储中,我已经制作了一个脚本来跟随FreeList并检查正确的Blink,它们都是正确的。这使报道的腐败更加神秘。 你们都信任!heap -s -v ??