mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-01 06:01:51 +02:00
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:
parent
70646c0d65
commit
ba63a18843
@ -2644,17 +2644,16 @@ begin
|
|||||||
AFinishLoopAndSendEvents := False;
|
AFinishLoopAndSendEvents := False;
|
||||||
FBreakPoints[bplSehW64Finally].RemoveAllAddresses;
|
FBreakPoints[bplSehW64Finally].RemoveAllAddresses;
|
||||||
o := FAddressFrameList.IndexOf(PC);
|
o := FAddressFrameList.IndexOf(PC);
|
||||||
Rdx := CurrentThread.RegisterValueList.FindRegisterByDwarfIndex(1).NumValue;
|
|
||||||
if o >= 0 then begin
|
if o >= 0 then begin
|
||||||
Frames := FAddressFrameList.Data[o];
|
Frames := FAddressFrameList.Data[o];
|
||||||
Frames.Remove(CurrentThread.GetStackPointerRegisterValue);
|
Frames.Remove(CurrentThread.GetStackPointerRegisterValue);
|
||||||
if Frames.Count = 0 then begin
|
if Frames.Count = 0 then begin
|
||||||
FBreakPoints[bplSehW64Except].RemoveAddress(Rdx);
|
FBreakPoints[bplSehW64Except].RemoveAddress(PC);
|
||||||
FAddressFrameList.Delete(o);
|
FAddressFrameList.Delete(o);
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
FBreakPoints[bplSehW64Except].RemoveAddress(Rdx);
|
FBreakPoints[bplSehW64Except].RemoveAddress(PC);
|
||||||
|
|
||||||
// TODO: esStepToFinally has "CurrentCommand = nil" and is Running, not stepping => thread not avail
|
// TODO: esStepToFinally has "CurrentCommand = nil" and is Running, not stepping => thread not avail
|
||||||
if (CurrentCommand <> nil) and (CurrentCommand.Thread <> CurrentThread) then
|
if (CurrentCommand <> nil) and (CurrentCommand.Thread <> CurrentThread) then
|
||||||
|
Loading…
Reference in New Issue
Block a user