* 0xABABABAB : Used by Microsoft's HeapAlloc() to mark "no man's land" guard bytes after allocated heap memory

* 0xABADCAFE : A startup to this value to initialize all free memory to catch errant pointers

* 0xBAADF00D : Used by Microsoft's LocalAlloc(LMEM_FIXED) to mark uninitialised allocated heap memory

* 0xBADCAB1E : Error Code returned to the Microsoft eVC debugger when connection is severed to the debugger

* 0xBEEFCACE : Used by Microsoft .NET as a magic number in resource files

* 0xCCCCCCCC : Used by Microsoft's C++ debugging runtime library to mark uninitialised stack memory

* 0xCDCDCDCD : Used by Microsoft's C++ debugging runtime library to mark uninitialised heap memory

* 0xDEADDEAD : A Microsoft Windows STOP Error code used when the user manually initiates the crash

* 0xFDFDFDFD : Used by Microsoft's C++ debugging heap to mark "no man's land" guard bytes before and after allocated heap memory

* 0xFEEEFEEE : Used by Microsoft's HeapFree() to mark freed heap memory

VC++ 在Debug编译方式编译的程序中,会跟踪用new分配的内存。新分配的内存会用0xcd(助记词为Cleared Data)填充,防止未初始化;当它被delete后,又会被0xdd(Dead   Data)填充,防止再次被使用。这样有利于调试内存错误。之所以选这样的填充模式,是因为:

1.大数,若被当成指针就会越界

2.奇数,指针通常指向偶数地址

3.非0,这样不会和   NULL   混淆。 
在Release版中不会有这些字节填充。

转自:http://www.cnblogs.com/pcchinadreamfly/archive/2012/04/26/2471317.html

VC的DEBUG版会把未初始化的指针自动初始化为0xCCCCCCCC,而不是就让它随机去,那是因为DEBUG版的目的是为了方便我们调试程序的,如果野指针的初值不确定,那么每次调试同一个程序就可能出现不一样的结果,比如这次程序崩掉,下次正常运行,再一次虽然没崩掉,但结果不对……那显然对我们解bug是非常不利的。

__asm{int 3}的一个用处是在exe中可中断,产生调试。int 3 相当于 DebugBreak, 机器码就是CC。

当一个未初始化赋值的时候(至少是vc 下未初始化的内存)默认是0xCCCCCCCC;,他在内存就默认保存为-858993460 即二进制的11001100 11001100 11001100 11001100; 十六进制的CCCCCCCC;而汉字 "烫" 的编码恰好就是1100110011001100:

转自:http://www.cnblogs.com/qlwy/archive/2012/11/04/2753992.html

0xcdcdcdcd - Created but not initialised

0xdddddddd - Deleted

0xfeeefeee - Freed memory set by NT's heap manager

0xcccccccc - Uninitialized locals in VC6 when you compile w/ /GZ

0xabababab - Memory following a block allocated by LocalAlloc()

转自:http://www.cnblogs.com/xing901022/p/3360763.html

最新文章

  1. AngularJs:Service、Factory、Provider依赖注入使用与区别
  2. HTML5&CSS3练习笔记(一)
  3. Android first---xml文件生成与解析
  4. Centos下防火墙的设置
  5. Net判断一个对象是否为数值类型 z
  6. ios 加载本地html css文件 ps:css和html必须在同一文件夹下面
  7. typedef typedef struct的使用
  8. android Service Activity三种交互方式(付源码)
  9. 国外十个出名的 upload 上传组件
  10. URI, URL, and URN
  11. Visual Studio 控件命名规范(很详细)
  12. 【转】awk用法介绍
  13. ISP基本框架及算法介绍
  14. Paint the Wall ZOJ - 2747
  15. Docker学习笔记之Docker 的简历
  16. seo优化之域名泛解析优缺点分析
  17. 29.Spring-基础.md
  18. pytest 学习笔记二:兼容unittest、执行方式、生成报告
  19. [Java] Servlet工作原理之一:体系结构及其容器
  20. 机器学习【算法】:KNN近邻

热门文章

  1. iOS开发-你真的会用SDWebImage?
  2. 【Cloud Foundry】Cloud Foundry学习(四)——Service
  3. XStream的基本使用
  4. 非阻塞IO 和阻塞IO【转】
  5. Linux动态库搜索路径的技巧
  6. 添加RichEdit控件后导致MFC对话框程序无法运行的解决方法
  7. VMThread占CPU高基本上是JVM在频繁GC导致,原因基本上是冰法下短时间内创建了大量对象堆积造成频繁GC。
  8. 对IOS设备中UDID的一些思考
  9. encodeURI() 的用法
  10. ipad4丢失查找攻略