mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-28 16:40:48 +02:00
FpGdbmiDebugger: Don't defer skNone to GDB. gdb may crash, and fpdebug may have some data. Issue #0035477
git-svn-id: trunk@61133 -
This commit is contained in:
parent
ef247de448
commit
677180e6e5
@ -1072,34 +1072,28 @@ DebugLn(DBG_VERBOSE, [ErrorHandler.ErrorAsString(PasExpr.Error)]);
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
case ResValue.Kind of
|
TiSym := ResValue.DbgSymbol;
|
||||||
skNone: begin
|
if (ResValue.Kind = skNone) and (TiSym <> nil) and (TiSym.SymbolType = stType) then begin
|
||||||
// maybe type
|
if GetTypeAsDeclaration(AResText, TiSym) then
|
||||||
TiSym := ResValue.DbgSymbol;
|
AResText := Format('{Type=} %1s', [AResText])
|
||||||
if (TiSym <> nil) and (TiSym.SymbolType = stType) then begin
|
|
||||||
if GetTypeAsDeclaration(AResText, TiSym) then
|
|
||||||
AResText := Format('{Type=} %1s', [AResText])
|
|
||||||
else
|
|
||||||
if GetTypeName(AResText, TiSym) then
|
|
||||||
AResText := Format('{Type=} %1s', [AResText])
|
|
||||||
else
|
|
||||||
AResText := '{Type=} unknown';
|
|
||||||
Result := True;
|
|
||||||
if AWatchValue <> nil then begin
|
|
||||||
if not IsWatchValueAlive then exit;
|
|
||||||
AWatchValue.Value := AResText;
|
|
||||||
AWatchValue.Validity := ddsValid; // TODO ddsError ?
|
|
||||||
end;
|
|
||||||
exit;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
else
|
else
|
||||||
begin
|
if GetTypeName(AResText, TiSym) then
|
||||||
if defNoTypeInfo in EvalFlags then
|
AResText := Format('{Type=} %1s', [AResText])
|
||||||
FPrettyPrinter.PrintValue(AResText, ResValue, DispFormat, RepeatCnt)
|
else
|
||||||
else
|
AResText := '{Type=} unknown';
|
||||||
FPrettyPrinter.PrintValue(AResText, ATypeInfo, ResValue, DispFormat, RepeatCnt);
|
Result := True;
|
||||||
|
if AWatchValue <> nil then begin
|
||||||
|
if not IsWatchValueAlive then exit;
|
||||||
|
AWatchValue.Value := AResText;
|
||||||
|
AWatchValue.Validity := ddsValid; // TODO ddsError ?
|
||||||
end;
|
end;
|
||||||
|
exit;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if defNoTypeInfo in EvalFlags then
|
||||||
|
FPrettyPrinter.PrintValue(AResText, ResValue, DispFormat, RepeatCnt)
|
||||||
|
else
|
||||||
|
FPrettyPrinter.PrintValue(AResText, ATypeInfo, ResValue, DispFormat, RepeatCnt);
|
||||||
end;
|
end;
|
||||||
if not IsWatchValueAlive then exit;
|
if not IsWatchValueAlive then exit;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user