* Ignore debugger errors when creating locals

git-svn-id: trunk@13742 -
This commit is contained in:
marc 2008-01-13 19:21:26 +00:00
parent 73343131f6
commit 273bdea671

View File

@ -2620,7 +2620,9 @@ begin
// args
TGDBMIDebugger(Debugger).ExecuteCommand('-stack-list-arguments 1 %0:d %0:d',
[TGDBMIDebugger(Debugger).FCurrentStackFrame], [], R);
[TGDBMIDebugger(Debugger).FCurrentStackFrame], [cfIgnoreError], R);
if R.State <> dsError
then begin
List := CreateMIValueList(R);
S := List.Values['stack-args'];
FreeAndNil(List);
@ -2630,12 +2632,16 @@ begin
List := CreateMIValueList(S);
AddLocals(List.Values['args']);
FreeAndNil(List);
end;
// variables
TGDBMIDebugger(Debugger).ExecuteCommand('-stack-list-locals 1', [], R);
TGDBMIDebugger(Debugger).ExecuteCommand('-stack-list-locals 1', [cfIgnoreError], R);
if R.State <> dsError
then begin
List := CreateMIValueList(R);
AddLocals(List.Values['locals']);
FreeAndNil(List);
end;
FLocalsValid := True;
end;
@ -2784,10 +2790,12 @@ begin
if Debugger = nil then Exit;
Arguments := TStringList.Create;
TGDBMIDebugger(Debugger).ExecuteCommand('-stack-list-arguments 1 %d %d',
[AIndex, AIndex], [cfIgnoreError], R);
TGDBMIDebugger(Debugger).ExecuteCommand('-stack-list-arguments 1 %0:d %0:d',
[AIndex], [cfIgnoreError], R);
// TODO: check what to display on error
if R.State <> dsError
then begin
List := CreateMIValueList(R);
S := List.Values['stack-args'];
FreeAndNil(List);
@ -2806,9 +2814,12 @@ begin
FreeAndNil(List);
end;
FreeAndNil(ArgList);
end;
TGDBMIDebugger(Debugger).ExecuteCommand('-stack-list-frames %d %d',
[AIndex, AIndex], [], R);
TGDBMIDebugger(Debugger).ExecuteCommand('-stack-list-frames %0:d %0:d',
[AIndex], [cfIgnoreError], R);
if R.State <> dsError
then begin
List := CreateMIValueList(R);
S := List.Values['stack'];
FreeAndNil(List);
@ -2829,6 +2840,8 @@ begin
);
FreeAndNil(List);
end;
Arguments.Free;
end;