令人困惑的问题,高分求教,路过的进来看一下吧

madgod madgod 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
问题是这样的,单步调试程序时,发现代码会被跳过,没有被执行,因为源码在不联网的机器上,所以没有办法贴出来,以下用伪码描述一下问题,原本的代码也很简单的,就30行左右,也只是做了一些简单的数据操作而已。
另外,代码只是被跳过了而已,程序没有抛出异常也没有挂掉,仍然继续正常运行,只是每次走到这个地方都是一样的,会跳过代码;
代码很简单,中间也没有跳转的语句,很困惑。

Procedure XXX.proc1(param1,param2....)
Var
...
Begin
语句1;
语句2;
if(b1) then Exit;
...
语句m; ----------执行到这里还是好的

Proc2(x,y); -----------进入proc2,从proc2跳出后直接跳到proc1的结束处

语句n1;
if(b1) then Exit;
语句n2;
End; -----------从proc2跳出后直接到这里,语句n1和n2都没有执行

Procedure XXX.proc2(param1,param2)
Var
...
Begin
for i:=0 to 5-1 do
begin
语句a1;
...
end;
End; --------------进入Proc2后直接跳转到此处,未执行循环,a1一次都没有到过,for i:=0 to 5-1 do也没有到过,一进过程就直接到这里了
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部