CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

高分请教,程序debug下运行正常.release下运行不正常一般是什么问题啊?

楼主pclili(黑客天使)2006-03-09 23:01:26 在 VC/MFC / 基础类 提问

高分请教,程序debug下运行正常.release下运行不正常一般是什么问题啊?  
  请各位大虾尽有可能出现的问题都说一下.  
   
  碰到这种问题,要怎么去解决?  
   
  谢谢. 问题点数:100、回复次数:22Top

1 楼striking(庸人自扰)回复于 2006-03-09 23:15:26 得分 0

坚持指针是否初始化为0,  
  字符串是否初始化.    
   
   
  and   so   on....  
   
  一般是初始化问题..   debug   下   指针或者整型变量会自动初始化为0,   release为不确定的值.Top

2 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-03-09 23:27:17 得分 7

原因有很多,典型的不是没有初始化变量。Top

3 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-10 00:29:07 得分 10

http://blog.joycode.com/jiangsheng/archive/2006/02/05/71101.aspxTop

4 楼laiyiling(陌生人[MVP])回复于 2006-03-10 08:18:38 得分 12

http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=187164Top

5 楼ydfivy(我就是一送外卖的)回复于 2006-03-10 08:47:18 得分 7

Release版,编译器会对代码进行优化.很有可能是优化后的代码有问题.  
  比如EBP优化.Top

6 楼striking(庸人自扰)回复于 2006-03-10 08:51:44 得分 7

如果是     release   没有问题,     debug   有问题,   又会是什么原因呢Top

7 楼gold_water(风雨无阻)回复于 2006-03-10 08:57:20 得分 7

除了变量初始化原因外,还有可能是数组溢出方面的原因,内存分配太小等.Top

8 楼ydfivy(我就是一送外卖的)回复于 2006-03-10 09:01:27 得分 7

断言.Top

9 楼yuanbocsut(井冈星火)回复于 2006-03-10 09:01:39 得分 7

最大的可能是指针没有初始化  
  数组操作越界了  
  Top

10 楼pclili(黑客天使)回复于 2006-03-10 09:25:24 得分 0

感谢各位的回答.我再仔细检查一下我的程序.谢谢.Top

11 楼laiyiling(陌生人[MVP])回复于 2006-03-10 09:26:08 得分 0

如果是     release   没有问题,     debug   有问题,   又会是什么原因呢    
  ============  
  debug下会有断言警告,提示有些地方除错,可以方便调试。如果有断言错误,一般就是程序有问题,需要检查。比较常见的句柄无效,参数非法等等,release不会做验证的动作,会直接崩溃。对于debug版本,一般是可以跟踪出现了什么问题的。  
  Top

12 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-10 09:30:08 得分 7

区别很大!!一般是变量等没有初始化比较多,再有象消息处理函数等的参数个数等也有要求,不然会出现栈不平的错误....Top

13 楼leechiyang(逮老鼠的狗算不算好猫?)回复于 2006-03-10 09:32:27 得分 7

变量未初始化Top

14 楼lifengice0706(无)回复于 2006-03-10 09:32:52 得分 7

http://community.csdn.net/Expert/topic/4244/4244824.xml?temp=.918133Top

15 楼pclili(黑客天使)回复于 2006-03-10 10:19:45 得分 0

我的程序里用了很多try...catch...,每个catch里都有一个断言,在debug下操作没有任何断言会失败.程序运行一切正常,在release下运行,在一些操作之后就出现了跟debug下不一样的结果.  
   
  我写的是图形程序,不正常的现象就是一些图形会在不见了.具体原因不明.因为用了try...catch...程序不会退出.会照常运行.Top

16 楼pclili(黑客天使)回复于 2006-03-10 10:22:04 得分 0

另外,请教一下,在release下怎么调试啊.我用的vc7Top

17 楼pclili(黑客天使)回复于 2006-03-10 13:08:56 得分 0

感谢各位的回答.我的问题已经解决了.最终原因还是变量没有初始化变量.  
  那是个bool变量,在结构体里面.我有些地方初始化了,有些地方还是忘记了.  
  最后以在release下写文件的方式发现了这个bug:)Top

18 楼teli_eurydice(哭泣的仙人掌。。。。)回复于 2006-03-10 13:11:47 得分 9

没初始化,接分Top

19 楼pclili(黑客天使)回复于 2006-03-10 13:13:35 得分 0

下午五点结贴.Top

20 楼wuqingabc(晴)回复于 2006-03-10 13:30:14 得分 3

注意消息函数的定义,debug里面不检测这个,release要检测的。Top

21 楼kelinwang19(kelin)回复于 2006-03-10 13:32:45 得分 3

dubug正常release出错,一般是没初始化的问题  
  release正常debug出错,一般是内存泄漏的问题,指针没有释放,数组越界Top

22 楼pclili(黑客天使)回复于 2006-03-10 21:08:35 得分 0

抱歉.下午工作太忙.忘记了.Top

相关问题

  • debug程序不能运行?????
  • 100分!求教:Debug换成Release时程序不运行
  • 程序在debug时运行正确,在release时出现错误?
  • 为什么我的程序在debug版运行良好,而release版出错?
  • 为什么程序的debug版不能运行而release版则可以?
  • 请问release版本可运行的程序,改成debug后为何出错?
  • 调试问题,为什麽程序在debug 版下运行正常, 但release 版运行不正常
  • 为什么我的程序Debug运行没问题,Release运行的时候出错了?
  • 编译成debug程序运行正常,但编译成release程序一执行就退出了
  • 我的程序Debug版本可以正常运行,但release版本就出问题(内详)

关键词

  • .net
  • release
  • 指针
  • debug
  • 初始化
  • 运行
  • 变量
  • 程序
  • 正常
  • 请教

得分解答快速导航

  • 帖主:pclili
  • DentistryDoctor
  • jiangsheng
  • laiyiling
  • ydfivy
  • striking
  • gold_water
  • ydfivy
  • yuanbocsut
  • rageliu
  • leechiyang
  • lifengice0706
  • teli_eurydice
  • wuqingabc
  • kelinwang19

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo