release跟debug不同模式下有些东西不明白,求指教

release和debug不同模式下有些东西不明白,求指教
vs2010中
定义了一个结构体类型: Order
struct Order
{
……
int currentOrder;
……
}
用此声明一个变量:
Order order;

定义一个函数,该函数会对order进行写操作,根据程序需要加上临界区:
sendSpreadOrder(Order & order,char direction)
{
EnterCriticalSection(&cs);
order.currentOrder=1;
……
}

主函数中,调用sendSpreadOrder函数:
main()
{
Order order;
order.currentOrder=0;
CRITICAL_SECTION cs;
……
sendSpreadOrder(order,'1');
……
}

问题:在sendSpreadOrder函数中的 order.currentOrder=1; 语句前加上断点,
release模式下,会直接跳过该断点,order.currentOrder的值还是0;
debug模式下,执行到该断点会停止,继续执行其值变为1.
为神马?求指导

------解决方案--------------------
release模式一般不能下断点debug的。

要debug release版本的,必须在release版本的编译选项里面加入debug信息。
------解决方案--------------------
断点所停下的当前行是还没有执行的,Release与调试无关。

引用:
哦哦,但是好像在order.currentOrder=0;之后的语句加断点时,执行到该断点时程序会停住,还有就是我想问一下,这个语句到底执行了吗

------解决方案--------------------
release进行了优化,有可能定位不到你的代码行,纯属正常,加入调试信息看看或使用日志输出的方式