请教高手们,使用MFC编写的程序,debug没有错误,而release运行的时候有错误怎么回事?怎么解决?

我的程序debug没有错误,也能运行,而release在调试的没有报错,而在运行的时候会出现“0x004baele指令引用的0x0039aa4c内存,该内存不能为read... 我的程序debug没有错误,也能运行,而release在调试的没有报错,而在运行的时候会出现“0x004baele指令引用的0x0039aa4c内存,该内存 不能为read ”的应用程序错误,请高手指教怎么回事?怎么解决? 展开
 我来答
理工知识库
2014-01-14
知道答主
回答量:10
采纳率:0%
帮助的人:8.8万
展开全部
你这个现象很正常,DEBUG模式程序正确不保证Release正确,因为DEBUG模式在程序中插入了许多调试用的信息,内存的结构和release版本是不一样的,你的这个错误是内存访问越界了,要检查内存使用情况,是否有空指针,数组索引越界,或使用BoundCheck等内存检查工具。
paradise300
2014-01-14 · TA获得超过3560个赞
知道大有可为答主
回答量:2589
采纳率:84%
帮助的人:501万
展开全部
你的程序中,是不是有用到lib或dll(第三方库)?Release版本下的程序,要使用Release版本的库。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
why755
2014-01-14 · TA获得超过311个赞
知道小有建树答主
回答量:624
采纳率:75%
帮助的人:345万
展开全部
单步跟踪一下,看看是什么地方出错了.
可能的是:不正确使用ASSERT;临界区对象的问题(我曾经遇到过,忘记初始化了,在DEBUG下似乎正常);其他....
追问
但是调试的时候没有报出错误啊?程序中有涉及到数组,如果是因为内存访问越界或是内存泄露的话怎么解决啊?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zivajn
2014-01-14 · TA获得超过331个赞
知道答主
回答量:157
采纳率:0%
帮助的人:80.9万
展开全部
存在对野指针的访问
更多追问追答
追问
有指针的访问啊!但是编译的时候没有发生错误啊?
追答
野指针访问,编译期是检查不出错误的
debug模式和调试时,对于非法地址的访问,常常也是不出错误的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式