LazDebuggerFp: Fix removing temp break from "FBreakPoints[bplSehW64Except]". "Rdx" was a copy and paste error, once hit the address is "PC".

This commit is contained in:
Martin 2021-12-07 12:37:56 +01:00
parent 70646c0d65
commit ba63a18843

View File

@ -2644,17 +2644,16 @@ begin
AFinishLoopAndSendEvents := False;
FBreakPoints[bplSehW64Finally].RemoveAllAddresses;
o := FAddressFrameList.IndexOf(PC);
Rdx := CurrentThread.RegisterValueList.FindRegisterByDwarfIndex(1).NumValue;
if o >= 0 then begin
Frames := FAddressFrameList.Data[o];
Frames.Remove(CurrentThread.GetStackPointerRegisterValue);
if Frames.Count = 0 then begin
FBreakPoints[bplSehW64Except].RemoveAddress(Rdx);
FBreakPoints[bplSehW64Except].RemoveAddress(PC);
FAddressFrameList.Delete(o);
end;
end
else
FBreakPoints[bplSehW64Except].RemoveAddress(Rdx);
FBreakPoints[bplSehW64Except].RemoveAddress(PC);
// TODO: esStepToFinally has "CurrentCommand = nil" and is Running, not stepping => thread not avail
if (CurrentCommand <> nil) and (CurrentCommand.Thread <> CurrentThread) then