Debugger: fixed getting callstack (could go into an endless loop)

git-svn-id: trunk@42641 -
This commit is contained in:
martin 2013-09-06 14:27:05 +00:00
parent eef666aa0d
commit 68bb020129

View File

@ -6663,6 +6663,8 @@ begin
It.Next;
while (not It.EOM) and (TCallStackEntry(It.DataPtr^).Index = EndIdx+1) do begin
inc(EndIdx);
if EndIdx = FCallstack.HighestUnknown then
Break;
It.Next;
end;
@ -6670,11 +6672,8 @@ begin
ExecForRange(StartIdx, EndIdx);
if (FCallstack = nil) or (dcsCanceled in SeenStates) then break;
if FCallstack.LowestUnknown < StartIdx
then StartIdx := FCallstack.LowestUnknown
else StartIdx := EndIdx + 1;
if FCallstack.HighestUnknown > EndIdx
then EndIdx := FCallstack.HighestUnknown;
StartIdx := EndIdx + 1;
EndIdx := FCallstack.HighestUnknown;
end;
finally
IT.Free;