VC++的编译器如何把小弟我的代码乱编译

VC++的编译器怎么把我的代码乱编译?
我的代码在DEBUG版本下编译都好好的,用Release编译就会出错.
然后我就不断的尝试修改release版本下的编译选项,最后发现,只要我将优化方式选择为max   speed,他就会出错.
然后我就设断点跟踪他,结果发现他把我的一断代码编译成很奇怪的汇编代码,而且函数内调用的局部变量和参数经过他汇编后的栈内地址都是错误的,请教大家这是什么原因呢?实在头痛啊

------解决方案--------------------
观察一下所有的变量是否已经初始化.

------解决方案--------------------

发生这种问题,一般是变量没有初始化。

不过,有一次我也遇到同样的问题,是因为程序调用的资源没有释放,我就把程序给关掉了。

在DEBUG模式下可以运行,RELEASE模式下运行就会弹出错误对话框。
------解决方案--------------------
有时候,编译器的优化选项不是我们想要的。
为了保证代码的正确性,在速度要求不是很高的情况下,关闭优化选项。
------解决方案--------------------
1.以外,在release版本下设置断点也不是想象中的那么简单,可能就没有执行到哪个地方.或者就是乱码.
2.在debug和release版本下,是否进行海量测试,或者长时间的压力测试,这样才能说只是因为一个参数的事.要不然,可能问题就还没暴露出来.
------解决方案--------------------
检查优化