windows debug模式下的内存默认填充

// The following values are non-zero,constant,odd,large,and atypical.
// * Non-zero values help find bugs that assume zero-filled data
// * Constant values are good so that memory filling is deterministic (to help
// make bugs reproducible). Of course,it is bad if the constant filling of
// weird values masks a bug.
// * Mathematically odd numbers are good for finding bugs assuming a cleared
// lower bit (e.g. properly aligned pointers to types other than char are not
// odd).
// * Large byte values are less typical and are useful for finding bad addresses.
// * Atypical values (i.e.,not too often) are good because they typically cause
// early detection in code.
// * For the case of the no-man's land and free blocks,if you store to any of
// these locations,the memory integrity checker will detect it.
//
// The align_land_fill was changed from 0xBD to 0xED to ensure that four bytes of
// that value (0xEDEDEDED) would form an inaccessible address outside of the lower
// 3GB of a 32-bit process address space.
static unsigned char const no_mans_land_fill{0xFD}; // Fill unaligned no-man's land
static unsigned char const align_land_fill {0xED}; // Fill aligned no-man's land
static unsigned char const dead_land_fill {0xDD}; // Fill free objects with this

static unsigned char const clean_land_fill {0xCD}; // Fill new objects with this


更多客源参考:debug_heap.cpp

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...