日期:2014-05-16 浏览次数:20670 次
windows程序员进阶系列:《软件调试》之堆 (一)
堆是软件在运行时动态申请内存空间的主要途径。从堆上申请来的空间需要程序员自己申请和释放,且申请和释放操作必须绝对匹配。忘记释放或者多次释放可能会导致严重问题。
与栈类似,使用堆的过程中也会由于向堆中写入超过所申请堆大小的数据,覆盖堆上的其他内容,而导致堆溢出问题。
由于堆的特殊性,一旦堆被破坏将会导致一些严重的问题。由于如果对堆不够了解的话对于这些问题将会手足无措。本文将会详细的介绍堆的方方面面,通过以下几篇文章的讲解便可以很清晰的了解堆的结构,再遇到在堆上出现的问题将从容应对而不再是手足无措。
由于堆的复杂性,本主题将会分五篇文章来介绍。
第一篇文章将介绍堆的基本概念以及堆的分类。
第二篇文章将介绍win32堆的内部结构。
第三篇文章将介绍