- 소스프로그램
var
i, sum : integer;
begin
생략
sum := 0;
for i := 1 to 100 do begin
sum := sum + i; '행A
생략
end;
- 현황 및 문제점
프로그램을 실행하면 정상적인 값이 나옵니다.
그런데 디버거로 실행도중에 행A에서 watches로 i 값을 보면
처음에 100 이 표시되고 실행되면서 99, 98, ...로 줄어듭니다.
또 sum 값을 watches로 보면 정상적으로 1, 3, 6, ...으로 나옵니다.
즉 프로그램은 정상적으로 1에서 100으로 진행되는데 디버거 watches에서는
100에서 1로 꺼꾸로 나옵니다.
또 i를 배열의 첨자로 사용하면(s[i]처럼) 처음에 s[1]이 아니라 s[100]값을
보여줍니다. 물론 프로그램에서는 s[1]으로 계산됩니다.
우찌 이런일이 발생할까요?
프로그램이 깨진걸까요? 혹시 옵션선택에 그런게 있나요?
고수분들의 조언을 부탁드립니다.