检测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
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
相关文章推荐
- 关于c++检测内存泄露相关知识(windows程序调试)
- 关于c++检测内存泄露相关知识(windows程序调试)
- windows下使用adb工具查看android程序cpu和内存消耗情况
- windows下使用adb工具查看android程序cpu和内存消耗情况
- 使用instrument检测ios程序内存问题
- 在向服务器发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 1 - 执行读/写操作期间检测到 I/O 错误。)
- 在Android环境中使用Valgrind工具进行内存错误检测
- 使用instrument检测ios程序内存问题
- 关于c++检测内存泄露相关知识(windows程序调试)
- C:\Windows\system32\MSVCR100.dll 没有被指定在 Windows 上运行,或者它包含错误。请尝试使用原始安装媒体重新安装程序,或联系您的系统管理员或软件供应商以获取支持。【解决办法】
- 用valgrind检测ns3程序内存错误
- valgind使用错误——检测不同位目标程序
- Qt(3):ubuntu下Qt Creator使用valgrind检测内存泄漏错误
- windows下使用adb工具查看android程序cpu和内存消耗情况
- windows下使用adb工具查看android程序cpu和内存消耗景况
- vc 无法检测到COM的错误使用造成的内存泄露
- 关于c++检测内存泄露相关知识(windows程序调试)
- 检测Python程序执行效率及内存和CPU使用的7种方法
- windows下使用adb工具查看android程序cpu和内存消耗情况
- 关于c++检测内存泄露相关知识(windows程序调试)