关于MFC的一个诡异问题

同事用MFC做的一个子窗口,用菜单调用的时候提示内存不能为read,为了调试习惯性的在DoModal()之前加了个afxMessageBox(),问题竟然不重现了,注释掉... 同事用MFC做的一个子窗口,用菜单调用的时候提示内存不能为read,为了调试习惯性的在DoModal()之前加了个afxMessageBox(),问题竟然不重现了,注释掉也不再重现,删掉也不再重现,难道是VC的BUG?求高人指点。
VC6,XP,这个工程在两台机器上表现一样。
前后之后两个窗口之间的值交换,没有什么特别的操作。
//不要逼我每次都说小白闪开!!!

要出差了,提前结贴。如有答案,请Hi我,有满意答案另外开个问题送分。
展开
 我来答
ranpanf
2011-08-07 · TA获得超过801个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:397万
展开全部
可能是栈溢出,你试图访问其他进境的禁止读的段。这个属于MFC的运行时的bug,或者是操作系统的bug,和你的程序无关。微软本来就有不少bug,常常发布一些补丁让你安装。
这个是系统bug,该问楼下那位先生,你可以在应用程序的代码里找出系统bug?你还不如说把整个系统发个你,让你找呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sg_bboys
2011-08-20 · TA获得超过125个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:115万
展开全部
提示内存不能READ的过程,一般都是出现在指针上,比如空指针,或者数值越界,你的代码大家都看不到没法帮你判断,只凭你的一面之词来分析的话,很难得到最终正确的结果.
追问
问题是空指针或者越界怎么会因为一个MessageBox而消失,而且删掉之后竟然也不再出现。我本来想找一下问题在哪儿,结果问题竟然不出现了。
另,昨天又遇到一个类似问题,我的工程zip压缩之后发给同事,报内存不能为read,再次发送zip解压之后重新编译,问题消失。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
泽兮如颜
2011-08-07 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:103万
展开全部
好像是传说中的窗口的句柄的传递变化了,会导致这样的问题。
另外,操作系统的不同也会引起这样的问题,vc6对win7的支持不好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敲響鍵盤
2011-08-07 · TA获得超过463个赞
知道小有建树答主
回答量:615
采纳率:0%
帮助的人:290万
展开全部
不可重现的工程bug,程序以后可能会出问题哦
追问
就是因为担心这个才问的嘛。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何处淬吴钩
2011-08-07 · TA获得超过5045个赞
知道大有可为答主
回答量:2947
采纳率:50%
帮助的人:2411万
展开全部
你的程序涉及多线程吗?可以把代码发出来看看

VC bug也不稀奇,vc2008我就遇到过至少2个,可喜的是在vs2010中修正了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式