在进行C++开发时候,由于野指针、空指针、未初始化内存等原因,很容易导致内存错误,并报出特定错误码。

Google上对上述错误码的解释如下:

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()

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

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

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

3.非0, 这样不会和 NULL 混淆。

在Release版中不会有这些字节填充。

原文链接:https://blog.csdn.net/jigetage/article/details/79709664

C++开发典型内存错误0xCDCDCDCD, 0xDDDDDDDD, 0xFEEEFEEE, 0xCCCCCCCC, 0xABABABAB总结相关推荐

  1. 错误内存【读书笔记】C程序中常见的内存操作有关的典型编程错误

    题记:写这篇博客要主是加深自己对错误内存的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 对C/C++程序员来讲,内存管理是个不小的挑战,绝对值得慎之又慎,否则让由上万行代码构成的 ...

  2. securecrt遇到一个致命的错误且必须关闭_谈谈如何利用 valgrind 排查内存错误

    导读 Valgrind 最为开发者熟知和广泛使用的工具莫过于 Memcheck,它是检查 c/c++ 程序内存错误的神器,报告结果非常之精准. 本文主要分享作者在使用该神器解决内存问题的过程中积累的一 ...

  3. securecrt遇到一个致命的错误且必须关闭_高性能服务器之路 | 浅谈 Valgrind 内存错误检查神器 Memcheck...

    本文是 高性能服务器开发 第一篇 导读 Memcheck 可以检查哪些内存错误? 使用 Memcheck 解决问题的原则 原则 1,内存非法读写错误一定要解决 原则 2,变量未初始化错误一定要解决 原 ...

  4. C/C++最大的祸害是什么?内存错误,舍它其谁!

    本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内.内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决,它们可能严重影响应用程序, ...

  5. VC中关于 0xcccccccc、0xcdcdcdcd和 0xfeeefeee 异常值说明

    [size=medium]VC中关于 0xcccccccc.0xcdcdcdcd和 0xfeeefeee 异常值说明[/size] VC在调试时,可能会报"写入位置0xcccccccc 时发 ...

  6. Linux启动检测内存条错误,linux检测程序内存泄漏和内存错误

    在linux的开发程序的时候,可以很方便的使用valgrind这个工具方便检测内存泄漏和内存错误. 安装很方便: debian(如ubuntu) sudo apt-get install valgri ...

  7. 谈谈如何利用 valgrind 排查内存错误

    谈谈如何利用 valgrind 排查内存错误 - 云+社区 - 腾讯云 (tencent.com) 高性能服务器开发关于Socket编程的内容 - 云+社区 - 腾讯云 (tencent.com)

  8. 基于C++中常见内存错误的总结

    在系统开发过程中出现的bug相对而言是比较好解决的,花费在这个上面的调试代价不是很大,但是在系统集成后的bug往往是难以定位的bug(最好方式是打桩,通过打桩可以初步锁定出错的位置,如:进入函数前打印 ...

  9. valgrind 内存泄漏_应用 AddressSanitizer 发现程序内存错误

    应用 AddressSanitizer 发现程序内存错误 作为 C/ C++ 工程师,在开发过程中会遇到各类问题,最常见便是内存使用问题,比如,越界,泄漏.过去常用的工具是 Valgrind,但使用 ...

最新文章

  1. axmath公式编辑器
  2. Codeforces Round #699 (Div. 2) F - AB Tree(贪心、树上DP)超级清晰,良心题解,看不懂来打我 ~
  3. 如何在Spring Boot中使用Hibernate Natural ID
  4. step3 . day5 数据结构之线性表 栈和队的应用-球钟问题
  5. 二叉树分析(两点最大距离)
  6. Spark入门:也可以用Java创建轻量级的RESTful应用程序
  7. c# 多线程异步demo
  8. 远东传动收购机器人_一张图为你总结最近5年在机器人领域收购案例
  9. 设计师对孟菲斯设计风还不了解?
  10. 网页编辑PHP变量,编辑文件中的php代码和变量
  11. Linux把日志文件转换成xml,[转载]将 HTML 文件转换成 XML
  12. css之div兼容性问题
  13. 建立网站需要什么条件_教育学校网站建设有什么作用?学校建立网站为的是什么?...
  14. 西门子 Process Simulate学习笔记(一)
  15. 肝了一宿才收集的48个超炫酷的 CSS 文字特效,绝对值得收藏!!!
  16. 猫狗二分类实战(PyTorch)
  17. HashMap,ArrayMap,SparseArray 源码角度分析,Android中的数据结构你该如何去选择?
  18. java-线程的实现方式
  19. 微信小程序——api调用(糗事百科例子)
  20. 3D游戏从入门到精通-31 32 33

热门文章

  1. linux-ramparse-v2 for qcom
  2. Python如何解决火狐浏览器不弹出下载框直接下载
  3. 刘海洋《LaTex入门》学习笔记5
  4. SwinUnet官方代码训练自己数据集(单通道灰度图像的分割)
  5. C语言之自动贩卖机+超级计算器+成绩计算+景区票价+身体指数测量!
  6. css的height,min-height,max-height,min-width.....
  7. 关闭Windows Update更新,解决服务主机本地系统CPU使用率高问题
  8. 网络上的两台计算机如何互相访问,win10如何实现两台电脑无线互访
  9. Python顺序与选择结构
  10. matlab 水平投影,matlab图像处理方面的问题。水平投影和垂直投影!