win7下,用vc6,发现debug版的运行正确,release版的结果异常

win7下,用vc6,发现debug版的运行正确,release版的结果错误。
不知道为啥。

是个处理固定格式的数据文本文件,几千行左右,无非就是找出最大值最小值的。

文本文件是linux下生成的。

结果一直出错,后来无意见改成debug版的,发现结果正确了,百撕不得骑姐。不知道为啥。

------解决方案--------------------
1 内存使用错误如下标越界 ,DEBUG 的指针内存长度比RELEASE 多1点 
2 使用了未初始化的变量 , DEBUG 和 RELASE 下 变量的默认值有时会不同。
------解决方案--------------------
这种情况通常是内存访问越界或者参数未初始化引起的。
------解决方案--------------------
确实,一般来说遇到DEBUG版本正常RELEASE版本出错的情况比较多,但是反过来的情况很少见。

以前用VC6转2010 SLN,后来发现DEBUG一堆错,RELEASE正常跑,感觉很奇怪。

还有就是,写程序一定要细心,越界的话很容易造成未知错误,引起程序崩溃。


------解决方案--------------------
参数初始化只有自己去做了。

内存越界访问,在崩溃的时候可以调试的。或者借助pageheap工具。

另外,在调试release版本时,可以将优化关闭。这样可以得到准确的堆栈和数据。