mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-10 07:10:12 +01:00
Fpdebug: display more values
git-svn-id: trunk@47131 -
This commit is contained in:
parent
136a5214a6
commit
bb622e5b7b
@ -461,7 +461,7 @@ function TFpPascalPrettyPrinter.InternalPrintValue(out APrintedValue: String;
|
|||||||
Result := '';
|
Result := '';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DoPointer;
|
procedure DoPointer(AnAddress: boolean);
|
||||||
var
|
var
|
||||||
s: String;
|
s: String;
|
||||||
v: QWord;
|
v: QWord;
|
||||||
@ -473,20 +473,23 @@ function TFpPascalPrettyPrinter.InternalPrintValue(out APrintedValue: String;
|
|||||||
else
|
else
|
||||||
s := '';
|
s := '';
|
||||||
|
|
||||||
|
if AnAddress then
|
||||||
|
v := AValue.Address.Address
|
||||||
|
else
|
||||||
|
v := AValue.AsCardinal;
|
||||||
if (ppvCreateDbgType in AFlags) then begin
|
if (ppvCreateDbgType in AFlags) then begin
|
||||||
ADBGTypeInfo^ := TDBGType.Create(skPointer, s);
|
ADBGTypeInfo^ := TDBGType.Create(skPointer, s);
|
||||||
ADBGTypeInfo^.Value.AsPointer := Pointer(AValue.AsCardinal); // TODO: no cut off
|
ADBGTypeInfo^.Value.AsPointer := Pointer(v); // TODO: no cut off
|
||||||
end;
|
end;
|
||||||
|
|
||||||
v := AValue.AsCardinal;
|
|
||||||
case ADisplayFormat of
|
case ADisplayFormat of
|
||||||
wdfDecimal, wdfUnsigned: APrintedValue := IntToStr(AValue.AsCardinal);
|
wdfDecimal, wdfUnsigned: APrintedValue := IntToStr(v);
|
||||||
wdfHex: APrintedValue := '$'+IntToHex(AValue.AsCardinal, AnAddressSize*2);
|
wdfHex: APrintedValue := '$'+IntToHex(v, AnAddressSize*2);
|
||||||
else begin //wdfPointer/Default ;
|
else begin //wdfPointer/Default ;
|
||||||
if v = 0 then
|
if v = 0 then
|
||||||
APrintedValue := 'nil'
|
APrintedValue := 'nil'
|
||||||
else
|
else
|
||||||
APrintedValue := '$'+IntToHex(AValue.AsCardinal, AnAddressSize*2);
|
APrintedValue := '$'+IntToHex(v, AnAddressSize*2);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -861,7 +864,7 @@ begin
|
|||||||
skUnit: ;
|
skUnit: ;
|
||||||
skProcedure: ;
|
skProcedure: ;
|
||||||
skFunction: ;
|
skFunction: ;
|
||||||
skPointer: DoPointer;
|
skPointer: DoPointer(False);
|
||||||
skInteger: DoInt;
|
skInteger: DoInt;
|
||||||
skCardinal: DoCardinal;
|
skCardinal: DoCardinal;
|
||||||
skBoolean: DoBool;
|
skBoolean: DoBool;
|
||||||
@ -880,6 +883,7 @@ begin
|
|||||||
skClass: DoStructure;
|
skClass: DoStructure;
|
||||||
skInterface: ;
|
skInterface: ;
|
||||||
skArray: DoArray;
|
skArray: DoArray;
|
||||||
|
skNone: DoPointer(true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if (ADBGTypeInfo <> nil) and (ADBGTypeInfo^ <> nil) then
|
if (ADBGTypeInfo <> nil) and (ADBGTypeInfo^ <> nil) then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user