mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 09:59:23 +02:00
LazDebuggerLldb: improved parsing of exception class after fpc_raiseexception. lldb may send \U00000012TClassFooBar
This commit is contained in:
parent
3100c5c321
commit
c53355182a
@ -757,16 +757,22 @@ var
|
|||||||
begin
|
begin
|
||||||
// (char * ) $2 = 0x005c18d0 "\tException"
|
// (char * ) $2 = 0x005c18d0 "\tException"
|
||||||
// (char *) $10 = 0x00652d44 "\x04TXXX"
|
// (char *) $10 = 0x00652d44 "\x04TXXX"
|
||||||
|
// (char *) $10 = 0x00652d44 "\U00000004TXXX"
|
||||||
s := TLldbInstructionReadExpression(Sender).Res;
|
s := TLldbInstructionReadExpression(Sender).Res;
|
||||||
i := pos('"', s);
|
i := pos('"', s);
|
||||||
l := 255;
|
l := 255;
|
||||||
if i > 0 then begin
|
if i > 0 then begin
|
||||||
if s[i+1] = '\' then begin
|
if (i + 2 < Length(s)) and (s[i+1] = '\') then begin
|
||||||
inc(i, 2);
|
inc(i, 2);
|
||||||
if s[i] = 'x' then begin
|
if s[i] = 'x' then begin
|
||||||
l := StrToIntDef('$'+copy(s, i+1, 2), 255);
|
l := StrToIntDef('$'+copy(s, i+1, 2), 255);
|
||||||
inc(i, 2);
|
inc(i, 2);
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
if (i + 9 < Length(s)) and (s[i] = 'U') and (s[i+1] = '0') then begin
|
||||||
|
l := StrToIntDef('$'+copy(s, i+1, 8), 255);
|
||||||
|
inc(i, 8);
|
||||||
|
end
|
||||||
else begin
|
else begin
|
||||||
case s[i] of
|
case s[i] of
|
||||||
'a': l := 7;
|
'a': l := 7;
|
||||||
|
Loading…
Reference in New Issue
Block a user