游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2576|回复: 7

Debug模式下正常, Release模式下为什么会出错????

[复制链接]

22

主题

87

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2010-4-17 21:19:00 | 显示全部楼层 |阅读模式
我在windows的消息中, 写了两个if(){}, 在debug下两个if都执行, 在release下只执行第一个if语句, 第二个直接被跳过了, 将两个if语句调换先后顺序后, 执行的是调换后的第一个if, 第二个if仍是被跳过. 这是什么原因?

42

主题

140

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2010-4-17 22:07:00 | 显示全部楼层

Re:Debug模式下正常, Release模式下为什么会出错????

release会对代码进行优化

2

主题

18

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2010-4-17 22:55:00 | 显示全部楼层

Re:Debug模式下正常, Release模式下为什么会出错????

VC项目属性选项里有一堆编译选项,release和debug下是的选项设置是不同的,可以通过改变各个选项进行编译,来进一步确定是什么类型的错误

14

主题

345

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
QQ
发表于 2010-4-22 17:26:00 | 显示全部楼层

Re:Debug模式下正常, Release模式下为什么会出错????

有变量没有初始化吧?

11

主题

1238

帖子

1782

积分

金牌会员

Rank: 6Rank: 6

积分
1782
发表于 2010-4-23 08:56:00 | 显示全部楼层

Re:Debug模式下正常, Release模式下为什么会出错????

被优化掉了!关掉优化选项试试

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2010-4-23 08:57:00 | 显示全部楼层

Re:Debug模式下正常, Release模式下为什么会出错????

release默认是做了代码优化的,那下面就不要设置断点调试了,那没用

3

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
发表于 2010-4-24 00:09:00 | 显示全部楼层

Re:Debug模式下正常, Release模式下为什么会出错????

release 下调试,断点是不准确的
最简单的printf就能测试出到底第二个if有没有执行到

22

主题

87

帖子

87

积分

注册会员

Rank: 2

积分
87
 楼主| 发表于 2010-4-24 08:57:00 | 显示全部楼层

Re:Debug模式下正常, Release模式下为什么会出错????

恩,谢谢各位了,是变量未初始化的问题,呵呵。。。。。不好意思,新手上路
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-16 19:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表