mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 18:39:09 +02:00
DBG: Fixed issue with variables from parent-nested-frames showing with prefix "error:"
git-svn-id: trunk@32437 -
This commit is contained in:
parent
876951bceb
commit
1df02ca4fc
@ -11349,43 +11349,50 @@ var
|
|||||||
ResultList.Free;
|
ResultList.Free;
|
||||||
|
|
||||||
if Result
|
if Result
|
||||||
then FixUpResult(AnExpression);
|
then begin
|
||||||
|
FixUpResult(AnExpression);
|
||||||
|
FValidity := ddsValid;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
wdfChar:
|
wdfChar:
|
||||||
begin
|
begin
|
||||||
Result := PrepareExpr(AnExpression);
|
Result := PrepareExpr(AnExpression);
|
||||||
if not Result
|
if not Result
|
||||||
then exit;
|
then exit;
|
||||||
|
FValidity := ddsValid;
|
||||||
FTextValue := GetChar(AnExpression, []);
|
FTextValue := GetChar(AnExpression, []);
|
||||||
if LastExecResult.State = dsError
|
if LastExecResult.State = dsError
|
||||||
then FTextValue := '<error>';
|
then ParseLastError;
|
||||||
end;
|
end;
|
||||||
wdfString:
|
wdfString:
|
||||||
begin
|
begin
|
||||||
Result := PrepareExpr(AnExpression);
|
Result := PrepareExpr(AnExpression);
|
||||||
if not Result
|
if not Result
|
||||||
then exit;
|
then exit;
|
||||||
|
FValidity := ddsValid;
|
||||||
FTextValue := GetText(AnExpression, []); // GetText takes Addr
|
FTextValue := GetText(AnExpression, []); // GetText takes Addr
|
||||||
if LastExecResult.State = dsError
|
if LastExecResult.State = dsError
|
||||||
then FTextValue := '<error>';
|
then ParseLastError;
|
||||||
end;
|
end;
|
||||||
wdfDecimal:
|
wdfDecimal:
|
||||||
begin
|
begin
|
||||||
Result := PrepareExpr(AnExpression, True);
|
Result := PrepareExpr(AnExpression, True);
|
||||||
if not Result
|
if not Result
|
||||||
then exit;
|
then exit;
|
||||||
|
FValidity := ddsValid;
|
||||||
FTextValue := IntToStr(Int64(GetPtrValue(AnExpression, [], True)));
|
FTextValue := IntToStr(Int64(GetPtrValue(AnExpression, [], True)));
|
||||||
if LastExecResult.State = dsError
|
if LastExecResult.State = dsError
|
||||||
then FTextValue := '<error>';
|
then ParseLastError;
|
||||||
end;
|
end;
|
||||||
wdfUnsigned:
|
wdfUnsigned:
|
||||||
begin
|
begin
|
||||||
Result := PrepareExpr(AnExpression, True);
|
Result := PrepareExpr(AnExpression, True);
|
||||||
if not Result
|
if not Result
|
||||||
then exit;
|
then exit;
|
||||||
|
FValidity := ddsValid;
|
||||||
FTextValue := IntToStr(GetPtrValue(AnExpression, [], True));
|
FTextValue := IntToStr(GetPtrValue(AnExpression, [], True));
|
||||||
if LastExecResult.State = dsError
|
if LastExecResult.State = dsError
|
||||||
then FTextValue := '<error>';
|
then ParseLastError;
|
||||||
end;
|
end;
|
||||||
//wdfFloat:
|
//wdfFloat:
|
||||||
// begin
|
// begin
|
||||||
@ -11402,10 +11409,11 @@ var
|
|||||||
if not Result
|
if not Result
|
||||||
then exit;
|
then exit;
|
||||||
FTextValue := IntToHex(GetPtrValue(AnExpression, [], True), 2);
|
FTextValue := IntToHex(GetPtrValue(AnExpression, [], True), 2);
|
||||||
|
FValidity := ddsValid;
|
||||||
if length(FTextValue) mod 2 = 1
|
if length(FTextValue) mod 2 = 1
|
||||||
then FTextValue := '0'+FTextValue; // make it an even number of digets
|
then FTextValue := '0'+FTextValue; // make it an even number of digets
|
||||||
if LastExecResult.State = dsError
|
if LastExecResult.State = dsError
|
||||||
then FTextValue := '<error>';
|
then ParseLastError;
|
||||||
end;
|
end;
|
||||||
wdfPointer:
|
wdfPointer:
|
||||||
begin
|
begin
|
||||||
@ -11413,6 +11421,7 @@ var
|
|||||||
if not Result
|
if not Result
|
||||||
then exit;
|
then exit;
|
||||||
FTextValue := PascalizePointer('0x' + IntToHex(GetPtrValue(AnExpression, [], True), TargetInfo^.TargetPtrSize*2));
|
FTextValue := PascalizePointer('0x' + IntToHex(GetPtrValue(AnExpression, [], True), TargetInfo^.TargetPtrSize*2));
|
||||||
|
FValidity := ddsValid;
|
||||||
if LastExecResult.State = dsError
|
if LastExecResult.State = dsError
|
||||||
then FTextValue := '<error>';
|
then FTextValue := '<error>';
|
||||||
end;
|
end;
|
||||||
@ -11440,6 +11449,7 @@ var
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
MemDump := TGDBMIMemoryDumpResultList.Create(R);
|
MemDump := TGDBMIMemoryDumpResultList.Create(R);
|
||||||
|
FValidity := ddsValid;
|
||||||
FTextValue := MemDump.AsText(0, MemDump.Count, TargetInfo^.TargetPtrSize*2);
|
FTextValue := MemDump.AsText(0, MemDump.Count, TargetInfo^.TargetPtrSize*2);
|
||||||
MemDump.Free;
|
MemDump.Free;
|
||||||
end;
|
end;
|
||||||
@ -11456,6 +11466,7 @@ var
|
|||||||
if FTypeInfo.HasExprEvaluatedAsText then begin
|
if FTypeInfo.HasExprEvaluatedAsText then begin
|
||||||
FTextValue := FTypeInfo.ExprEvaluatedAsText;
|
FTextValue := FTypeInfo.ExprEvaluatedAsText;
|
||||||
FTextValue := DeleteEscapeChars(FTextValue);
|
FTextValue := DeleteEscapeChars(FTextValue);
|
||||||
|
FValidity := ddsValid;
|
||||||
Result := True;
|
Result := True;
|
||||||
FixUpResult(AnExpression, FTypeInfo);
|
FixUpResult(AnExpression, FTypeInfo);
|
||||||
exit;
|
exit;
|
||||||
|
Loading…
Reference in New Issue
Block a user