0xBAADF00D以及常见的Windows内存分配值

来源:互联网 发布:制作展板用什么软件 编辑:程序博客网 时间:2024/06/13 23:56
0xCD空内存用new或malloc分配但从未被写入过的内存.可以用来发现分配单位使用的内存.0xDD死内存已经用delete或者free释放掉的内存,用来发现挂起的野指针.系统一般会报错0xC0000005访问0xDDDDDDDD出错.0xFD护栏内存这个标志主要是会出现在已分配的内存周围,像栅栏似的,如果你的数组越界的话,一般都会出现0xC0000005访问0xFDFDFDFD无法访问.0xAB?由LocalAlloc()在本地堆分配的内存初值,这个一般见得少.0xBAADF00D

很难吃

(微软员工在某次食堂吃饭后开始使用:D)

一般的HeapAlloc和LocalAlloc分配内存的初值都是这个,最常见为使用未初始化的指针导致0xC0000005访问0xBAADFOOD出错.0xCC 当代码使用/GZ进行编译时, 未初始化的变量的初值都为CC.最常见为使用未初始化的指针导致0xC0000005访问0xCCCCCCCC出错.

部分原文翻译自地址:http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c9535/

 

0xBAADF00D是常见的Hexspeak.

如果对这种16进制的单词有兴趣,亦可参看http://en.wikipedia.org/wiki/Hexspeak.

原创粉丝点击