您的位置:首页 > 其它

检测Windows程序中的内存使用错误

2008-06-09 17:45 295 查看
检测Windows程序中的内存使用错误

l 使用VC(VC2005/VC2008)编译程序时,如果你启动了“/RTC1”(VC6使用/GZ)去编译调试模式的程序,那么程序运行时VC的运行库就会使用特定的值填充申请和释放的内存,在调试内存错误时非常有用。
0xCC:填充未初始化的栈变量。
0xCD:填充从堆中申请的内存。
0xDD:已经释放的内存。
0xFD:填充应用程序申请内存的前后的内存(前面4个字节,后面4个字节)。

l Windows的堆管理函数也会使用特定的值填充申请和释放的内存。
0xBAADF00D:HeapAlloc()申请内存后,用它填充新申请的内存。
0xABABABAB:HeapAlloc()申请内存后,用它填充新申请的内存之后的内存。
0xFEEEFEEE:HeapFree()释放内存后,用它来填充释放的内存。

l Solaris
Solaris中也有类似的常量,可以参考sun的文档
http://docs.sun.com/app/docs/doc/819-7055/6n91dbri8?l=zh&a=view
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐