Merge branch 'xtensa-breakinfo' into 'main'

[fpdebug] Use byte offset to locate data to be replaced in MaskBreakpointsInReadData.

See merge request freepascal.org/lazarus/lazarus!278
This commit is contained in:
Martin 2024-04-13 23:29:06 +00:00
commit 2c0b888a90

View File

@ -1625,10 +1625,14 @@ procedure TGenericBreakPointTargetHandler.MaskBreakpointsInReadData(const AAdres
const ASize: Cardinal; var AData);
var
MapEnumData: TFpBreakPointMap.TFpBreakPointMapEnumerationData;
offset: TDbgPtr;
begin
for MapEnumData in BreakMap do begin
if not HPtr(MapEnumData.TargetHandlerDataPtr)^.ErrorSetting and (MapEnumData.Location >= AAdress) and (MapEnumData.Location < (AAdress+ASize)) then
P_BRK_STORE(@AData)[MapEnumData.Location-AAdress] := HPtr(MapEnumData.TargetHandlerDataPtr)^.OrigValue;
begin
offset := MapEnumData.Location - AAdress;
P_BRK_STORE(@AData + offset)^ := HPtr(MapEnumData.TargetHandlerDataPtr)^.OrigValue;
end;
end;
end;