堆调试利器-Pageheap

刚刚花了一个星期磨出一来一个Planet的*.prj类型的一周项目,感觉收获很大,特此作出分享. 此项目是要解决一个Heap Corruption的问题,但是我们知道,通常情况下,当我们在堆中分配了一段内存,尽管在使用过程中可能出现了越界操作,但是系统在越界的一瞬间常常并不直接报错,而是在最后delete 时抛出一个Heap Corruption。这是因为操作系统的堆分配粒度是一个4k,若内存越界不是刚好在那个4k边界上,并不会引起操作系统的警觉而报错。 如果我们只是在Heap Corruption发生的时候察看call stack,会发现得不到多少有用的信息。在一份规模较大的代码中手工检查也 不是很现实。 这个时候,堆调试利器-PageHeap可以帮上大忙.此工具可以强迫程序在把每...阅读全文