C/C++ 遇到0xcccccccc访问冲突
最近一直在纠结这个问题.

最近写代码,总是遇到这个问题,一旦遇到这个问题,以前好使的代码也就不好使了。很费解,上网搜集了下资料....
这个0xcccccccc是DEBUG模式下,编译器为没有初始化的指针填充的地址值。当你进入到断电时,也会看到很多其他的未初始化的指针都是这个值

而为什么会是这个值呢?
因为,0xcc是INT 3的机器码,而这个INT 3是留给编译器中断时用的 替换向量,一旦断电继续执行下,就会替换掉这个值。
为什么系统要填充这个固定的值呢?
因为,在DEBUG模式下,就是为了测试代码的运行。如果每次都随机指定一个地址,那最后测试的结果也会不一样。如果随机填充了一个地址,这个地址在未经初始化的情况下使用了,但是换到RELEASE模式下的时候,就会出现意外的情况。因此,添加这个值,确保指针在使用前都经过了初始化。
其他还有固定的地址值对应的错误:
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()
C/C++ 遇到0xcccccccc访问冲突的更多相关文章
- 读取位置 0xcccccccc 时发生访问冲突
XXXXX.exe 中的 0x1004eec2 处有未经处理的异常: 0xC0000005: 读取位置 0xcccccccc 时发生访问冲突 DEBUG模式下总是出现此错误,改为Release模式,错 ...
- VC中关于 0xcccccccc和 0xcdcdcdcd异常
VC在调试时,可能会报“写入位置0xcccccccc 时发生访问冲突”,或者“写入位置0xcdcdcdcd 时发生访问冲突”,这些问题可能是由于使用了未初始化的指针引起的. 在 Debug 模式下,V ...
- 问题解决——使用CriticalSection后 0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突
================声明===================== 本文原创,转载请保持文章的完整性(含本声明),并显要的著名作者和出处. 本文链接:http://blog.csdn.ne ...
- 关于 0xCCCCCCCC
http://xingyunbaijunwei.blog.163.com/blog/static/76538067201281793111474/ http://stackoverflow.com/q ...
- 启动MFC程序的时候报错:0xC0000005: 读取位置 0x00000000 时发生访问冲突
此程序的结构是 MouseCap.h #pragma once #include <afxwin.h> class MouseCapApp : public CWinApp { publi ...
- 0xC0000005: 读取位置 0x00000000 时发生访问冲突
遇见这种问题一般都是空指针,即:指针里没有赋值~ 如果你对null 进行操作就会产生空指针异常 Object obj = new Object(); 你要知道 obj是一个Object指针变量,指向O ...
- C++ “读取位置 0x****** 时发生访问冲突”的可能原因
转自:http://shansun123.iteye.com/blog/680066 这种错误的意思一般是指访问了不属于自己的内存空间,出现这种错误有几种原因: 1.给一个数组分配了比较小的内存空间, ...
- C++多线程中用临界区控制全局变量的访问冲突问题
困扰了我很长时间的多线程访问全局变量今天终于解决了,所以得记录一下..控制全局变量的方法很多,有信号量.临界区等..这里我记录一个用临界区控制访问冲突的例子.非常好用. #include <wi ...
- 内存的一些magic number和debug crt(0xCCCCCCCC和0xCDCDCDCD,debug版本的CRT为了方便调试程序的初始值)
调试过debug版本的vc程序的人一定对0xCCCCCCCC和0xCDCDCDCD这样的内存很有印象.这是debug版本的CRT为了方便调试程序,在分配出来还没有初始化的时候提供的初始值. 实际上,W ...
随机推荐
- Shell脚本把文件从GBK转为UTF-8编码
http://www.jb51.net/article/51308.htm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
- maven jetty 配置
对于jdk8增加如下配置: <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jett ...
- c#在sql中存取图片image示例
这篇文章主要介绍了c#在sql中存取图片image示例,需要的朋友可以参考下 (1)控制台应用程序下演示插入图片 复制代码 代码如下: public void InsertIMG() { //将需要存 ...
- app自动更新(android)
更新插件代码:https://github.com/shixy/UpdateApp 来源:http://aspoems.iteye.com/blog/1897300 检查更新的时候,通过指定的URL获 ...
- python_class21
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @version: 3.5 @author: morgana @lic ...
- java,js判断全角半角
function chkHalf(str){ for(var i=0;i { strCode=str.charCodeAt(i); if((strCode>65248)||(strCode==1 ...
- render tree与css解析
浏览器在构造DOM树的同时也在构造着另一棵树-Render Tree,与DOM树相对应暂且叫它Render树吧,我们知道DOM树为javascript提供了一些列的访问接口(DOM API),但这棵树 ...
- 第5章 使用MUI与H5+构建移动端app
H5+是JS封装的工具集合,通过H5+我们就可以使用JS的方式去调用到我们手机端上的一些原生的组件. http://dev.dcloud.net.cn/mui/ http://dev.dcloud.n ...
- 定时node-schedule 模块的使用
You can install using npm. npm install node-schedule var schedule = require('node-schedule'); var j ...
- ROS Learning-006 beginner_Tutorials 编译ROS程序包
ROS Indigo beginner_Tutorials-05 编译 ROS 程序包 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04 ...