Merged revision(s) 59538-59539 #0368d8e0d8-#0368d8e0d8 from trunk:

FpDebug: temporary workaround to display widestrings (actually pwidechar^)
........
FpDebug: temporary workaround to display widechar
........

git-svn-id: branches/fixes_2_0@59541 -
This commit is contained in:
maxim 2018-11-13 22:35:18 +00:00
parent 58a59c2941
commit 3e99733e9d

View File

@ -1868,6 +1868,9 @@ end;
function TFpDwarfValueChar.GetAsString: AnsiString;
begin
// Can typecast, because of FSize = 1, GetAsCardinal only read one byte
if FSize = 2 then
Result := GetAsWideString // temporary workaround for WideChar
else
if FSize <> 1 then
Result := inherited GetAsString
else
@ -1941,7 +1944,10 @@ begin
while (i > 0) and (not MemManager.ReadMemory(DataAddress, 2000, @Result[1])) do
i := i div 2;
SetLength(Result,i);
i := pos(#0, Result);
if t.Size = 2 then // widestring // should be in GetAsWideString;
i := pos(#0#0, Result)
else
i := pos(#0, Result);
if i > 0 then
SetLength(Result,i-1);
exit;
@ -3279,6 +3285,7 @@ begin
DW_ATE_signed_char: SetKind(skChar);
DW_ATE_unsigned: SetKind(skCardinal);
DW_ATE_unsigned_char: SetKind(skChar);
DW_ATE_numeric_string:SetKind(skChar); // temporary for widestring
else
begin
DebugLn(FPDBG_DWARF_WARNINGS, ['TFpDwarfSymbolTypeBasic.KindNeeded: Unknown encoding ', DwarfBaseTypeEncodingToString(Encoding), ' for ', DwarfTagToString(InformationEntry.AbbrevTag)]);