debugger: show variant array type on varArray variant evaluation

git-svn-id: trunk@22960 -
This commit is contained in:
paul 2009-12-04 14:33:19 +00:00
parent 9d023d97f7
commit 378fa711b4

View File

@ -37,7 +37,7 @@ unit GDBMIDebugger;
interface interface
uses uses
Classes, SysUtils, LCLProc, Dialogs, LazConf, DebugUtils, Debugger, Classes, SysUtils, Variants, LCLProc, Dialogs, LazConf, DebugUtils, Debugger,
FileUtil, CmdLineDebugger, GDBTypeInfo, Maps, FileUtil, CmdLineDebugger, GDBTypeInfo, Maps,
{$IFdef MSWindows} {$IFdef MSWindows}
Windows, Windows,
@ -2119,13 +2119,14 @@ function TGDBMIDebugger.GDBEvaluate(const AExpression: String; var AResult: Stri
end; end;
varany: Result := VarList.Values['VANY']; varany: Result := VarList.Values['VANY'];
else else
Result := 'unsupported variant type: ' + IntToStr(VType); Result := 'unsupported variant type: ' + VarTypeAsText(VType);
end; end;
end; end;
varArray: varArray:
begin begin
Result := VarList.Values['VARRAY']; Result := VarTypeAsText(VType);
Result := 'variant array ' + Result + ': no debugger support yet' // TODO: show variant array data?
// Result := VarList.Values['VARRAY'];
end; end;
varByRef: varByRef:
begin begin
@ -2170,13 +2171,13 @@ function TGDBMIDebugger.GDBEvaluate(const AExpression: String; var AResult: Stri
varqword: Result := GetStrValue('pqword(%s)^', [Result]); varqword: Result := GetStrValue('pqword(%s)^', [Result]);
varstring: Result := MakePrintable(GetText('pansistring(%s)^', [Result])); varstring: Result := MakePrintable(GetText('pansistring(%s)^', [Result]));
else else
Result := 'unsupported variant type: ' + IntToStr(VType); Result := 'unsupported variant type: ' + VarTypeAsText(VType);
end; end;
end; end;
end; end;
end; end;
else else
Result := 'unsupported variant type: ' + IntToStr(VType); Result := 'unsupported variant type: ' + VarTypeAsText(VType);
end; end;
finally finally
VarList.Free; VarList.Free;