100分问Debug下程序运行正常但Release下程序运行会报错的问题.(对高手本身也是个挑战)

freeia 2003-02-23 03:15:18
"0x004102c2"指令引用的"0x00001060"内存.该内存不能为"read".
要终止程序,请单击"确定".
要调试程序,请单击"取消".
...全文
65 22 打赏 收藏 举报
写回复
22 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
freeia 2003-02-24
  • 打赏
  • 举报
回复
郁闷... ...
但在release下运行不正常.
freeia 2003-02-24
  • 打赏
  • 举报
回复
现在变成了:

"0x0040fb32"指令引用的"0x00000061"内存.该内存不能为"read".
要终止程序,请单击"确定".
要调试程序,请单击"取消".


晕啊~~~~~~~~~~~~~
zx_sanjin 2003-02-23
  • 打赏
  • 举报
回复
我想是跟字节对齐方式有关,一般选择8字节对齐。debug下你的选项是8字节,release下是<4字节,如果你的代码书写甚至于结构体顺序排列不规范都会导致问题的出现,如果是这个问题那就不能归结到Debug与release的问题,如果你把debug的字节对齐方式改为<4,也可能会出错的
freeia 2003-02-23
  • 打赏
  • 举报
回复
好的.问题是用"最小代码生成优化"可以啊,郁闷了...
如果都不行,说明几乎肯定是自己写的代码出了问题.
但是... ...
Goooder 2003-02-23
  • 打赏
  • 举报
回复
其实编译优化并没有那么多bug,一般release和debug问题都出在代码变量没有初始化,数组访问越界,引用无效指针,句柄等等。仔细检查代码。
freeia 2003-02-23
  • 打赏
  • 举报
回复
但是我要发行的时候还不优化就问题来了啊,就"最快优化"会出问题.
郁闷啊... ...
禅师,帮我点化点化吧... ...
demetry 2003-02-23
  • 打赏
  • 举报
回复
没事就好^_^

在调试程序时最好不要选择最优化。因为如果执行了最优化操作,当前执行的代码行或许与实际的代码行不一致,便一起将用户的代码替换为运行更快或使用内存更少的代码。
freeia 2003-02-23
  • 打赏
  • 举报
回复
怪的是我选择"最小优化"也正常运行啊!
请大侠来讲课... ...
zhdleo 2003-02-23
  • 打赏
  • 举报
回复
再看看这个,也是前不久,

论坛里的贴子:

http://expert.csdn.net/Expert/topic/1349/1349401.xml?temp=.6075556
freeia 2003-02-23
  • 打赏
  • 举报
回复
阁下高人!!!请留步!!!!!
我把优化选项设置为default就没事了,请解释下是怎么回事?
demetry 2003-02-23
  • 打赏
  • 举报
回复
去掉优化选项试一下
freeia 2003-02-23
  • 打赏
  • 举报
回复
晕~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
弄了半天还没搞定,看来只有等大侠来指点迷津了.
我想本帖应该能成为精华帖.
freeia 2003-02-23
  • 打赏
  • 举报
回复
是啊.怪了.
我开始还以为我装了金山毒霸可能会引起问题,干脆卸载掉,重新启动,再编译.
... ...
结果还是如此.
:(
ysf1980 2003-02-23
  • 打赏
  • 举报
回复
对于MFC包装过的消息不会有问题的,看来不是自定义消息的问题了
关注....
freeia 2003-02-23
  • 打赏
  • 举报
回复
我的编译选项都是默认的.
DalyQiao 2003-02-23
  • 打赏
  • 举报
回复
是不是跟编译选项有关
freeia 2003-02-23
  • 打赏
  • 举报
回复
To e_Boris:
我查过,没有用过你说的这种情况.
freeia 2003-02-23
  • 打赏
  • 举报
回复
To ysf1980:
我自己手动映射过是CListCtrl的NM_CLICK的消息,因为需要动态创建了一个控件,所以这么做,与这有关吗?
王嘉平 2003-02-23
  • 打赏
  • 举报
回复
看看你的程序里面有没有该用VERIFY的地方却用了ASSERT

比如: ASSERT(lpStr = new TCHAR[len]);

还有就是有没有#ifdef _DEBUG控制的代码
mimile 2003-02-23
  • 打赏
  • 举报
回复
什么嘛,就仅仅是初始化的区别?你看看我这个问题
http://expert.csdn.net/Expert/TopicView1.asp?id=1456970
加载更多回复(2)
发帖
VC/MFC

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
帖子事件
创建了帖子
2003-02-23 03:15
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……