调试中奇怪的问题,等待高人

yoyomomo   2007-11-7 10:45 楼主
如:
BOOL func()
{
   if(~~)
    {
      return fALSE;  //flag 1
    }

   if(##)
   {~~~;
    ~~~;
    ~~~;
    return TRUE;   //flag 2
   }
return TRUE;      //flag 3
}

我调试的时候,程序走到flag 2位置 接着往 flag 3 再下一步 突然又跳到 flag 1
这是个单线程的,而且这个函数只执行一次,返回结果总是为FALSE 我把flag 1的改成 if(0) 还是会执行return FALSE;

非常奇怪,为什么会这样啊,是不是内存不对齐

回复评论 (1)

并不奇怪,这3个 return 跳转到的地址不是一样的吗,调试器多次执行return,只是一种现象而已。
建议你把调试窗口切到汇编看看就明白了。
点赞  2007-11-7 10:49
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复