高分请教,程序debug下运行正常.release下运行不正常一般是什么问题啊?
高分请教,程序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版本就出问题(内详)




