FpDebug: Keep register-names in stacktrace

This commit is contained in:
Joost van der Sluis 2022-07-03 18:41:56 +02:00
parent fd64dddf42
commit a7d0a6e0b2

View File

@ -647,6 +647,7 @@ var
i: Integer;
ReturnAddress, Value: TDbgPtr;
FrameBase: TDBGPtr;
RegName: String;
begin
Result := False;
NewCallStackEntry := nil;
@ -706,7 +707,14 @@ begin
for i := 0 to High(Row.RegisterArray) do
begin
if ProcessCFIColumn(Row, i, FrameBase, Size, CurrentCallStackEntry, Value) then
NewCallStackEntry.RegisterValueList.DbgRegisterAutoCreate[IntToStr(i)].SetValue(Value, IntToStr(Value),Size, i);
begin
Reg := CurrentCallStackEntry.RegisterValueList.FindRegisterByDwarfIndex(i);
if Assigned(Reg) then
RegName := Reg.Name
else
RegName := IntToStr(i);
NewCallStackEntry.RegisterValueList.DbgRegisterAutoCreate[RegName].SetValue(Value, IntToStr(Value),Size, i);
end;
end;
end;