debugger: don't dereference pointers on evaluation (deference classes only): this fixes debug output for strings and generic pointers type

git-svn-id: trunk@23058 -
This commit is contained in:
paul 2009-12-10 07:57:25 +00:00
parent b5ca260573
commit ace509e462

View File

@ -14056,10 +14056,12 @@ begin
DBGTypeDerefer:=nil;
if not DebugBoss.Evaluate(Expression, DebugEval, DBGType) or (DebugEval = '') then
DebugEval := '???';
if Assigned(DBGType) and ((DBGType.Kind=skPointer) or (DBGType.Kind=skClass)) then begin
if DBGType.Value.AsPointer<>nil then begin
if DebugBoss.Evaluate(Expression+'^', DebugEvalDerefer, DBGTypeDerefer) then
DebugEval:=DebugEval+' = '+DebugEvalDerefer;
if Assigned(DBGType) and (DBGType.Kind=skClass) then
begin
if DBGType.Value.AsPointer <> nil then
begin
if DebugBoss.Evaluate(Expression + '^', DebugEvalDerefer, DBGTypeDerefer) then
DebugEval := DebugEval + ' = ' + DebugEvalDerefer;
end;
end;
FreeAndNil(DBGType);