FpDebug: 64bit debugger exe does not have a 10bit Extended (as in 32bit exe). Cross debugger can therefore not display such values. Return an error.

git-svn-id: trunk@61902 -
This commit is contained in:
martin 2019-09-19 13:08:44 +00:00
parent 0ea8345dd4
commit f9d28f268b
2 changed files with 8 additions and 3 deletions

View File

@ -1941,8 +1941,10 @@ begin
end;
Include(FEvaluated, doneUInt);
if (FSize <= 0) or (FSize > SizeOf(Result)) then
Result := inherited GetAsCardinal
if (FSize <= 0) or (FSize > SizeOf(Result)) then begin
Result := 0;
FLastError := CreateError(fpErrorBadFloatSize);
end
else
if not MemManager.ReadFloat(OrdOrDataAddr, FSize, Result) then begin
Result := 0; // TODO: error

View File

@ -16,6 +16,7 @@ resourcestring
MsgfpErrSymbolNotFound = 'Identifier not found: "%1:s"';
MsgfpErrNoMemberWithName = 'Member not found: %1:s';
MsgfpErrorNotAStructure = 'Cannot get member "%1:s" from none structure type: %2:s';
MsgfpErrorBadFloatSize = 'Unsupported float value: Unknown precission';
MsgfpErrPasParserInvalidExpression = 'Invalid Expression';
MsgfpErrPasParserUnexpectedToken = 'Unexpected token ''%1:s'' at pos %2:d';
@ -42,6 +43,7 @@ const
fpErrSymbolNotFound = TFpErrorCode(2);
fpErrNoMemberWithName = TFpErrorCode(3);
fpErrorNotAStructure = TFpErrorCode(4);
fpErrorBadFloatSize = TFpErrorCode(5);
fpErrPasParserInvalidExpression = TFpErrorCode(24);
fpErrPasParserUnexpectedToken = TFpErrorCode(25);
@ -175,7 +177,8 @@ begin
fpErrAnyError: Result := MsgfpErrAnyError;
fpErrSymbolNotFound: Result := MsgfpErrSymbolNotFound;
fpErrNoMemberWithName: Result := MsgfpErrNoMemberWithName;
fpErrorNotAStructure: Result := MsgfpErrorNotAStructure;
fpErrorNotAStructure: Result := MsgfpErrorNotAStructure;
fpErrorBadFloatSize: Result := MsgfpErrorBadFloatSize;
fpErrPasParserInvalidExpression: Result := MsgfpErrPasParserInvalidExpression;
fpErrPasParserUnexpectedToken: Result := MsgfpErrPasParserUnexpectedToken;