LazDebuggerGdbmi: Allow to add RunError to ignored exceptions

git-svn-id: trunk@44738 -
This commit is contained in:
martin 2014-04-16 03:21:16 +00:00
parent acecc4a260
commit 5d640f36c9

View File

@ -5566,6 +5566,8 @@ function TGDBMIDebuggerCommandExecute.ProcessStopped(const AParams: String;
ErrorNo: Integer;
CanContinue: Boolean;
Location: TDBGLocationRec;
ExceptName: String;
ExceptItem: TBaseException;
begin
FTheDebugger.QueueExecuteLock;
try
@ -5579,8 +5581,15 @@ function TGDBMIDebuggerCommandExecute.ProcessStopped(const AParams: String;
FTheDebugger.QueueExecuteUnlock;
end;
ExceptName := Format('RunError(%d)', [ErrorNo]);
ExceptItem := FTheDebugger.Exceptions.Find(ExceptName);
if (ExceptItem <> nil) and (ExceptItem.Enabled)
then begin
Result := True; //ExecuteCommand('-exec-continue')
exit;
end;
FTheDebugger.DoException(deRunError, Format('RunError(%d)', [ErrorNo]), Location, '', CanContinue);
FTheDebugger.DoException(deRunError, ExceptName, Location, '', CanContinue);
if CanContinue
then begin
//ExecuteCommand('-exec-continue')
@ -5597,6 +5606,8 @@ function TGDBMIDebuggerCommandExecute.ProcessStopped(const AParams: String;
ErrorNo: Integer;
CanContinue: Boolean;
Location: TDBGLocationRec;
ExceptName: String;
ExceptItem: TBaseException;
begin
FTheDebugger.QueueExecuteLock;
try
@ -5610,7 +5621,15 @@ function TGDBMIDebuggerCommandExecute.ProcessStopped(const AParams: String;
FTheDebugger.QueueExecuteUnlock;
end;
FTheDebugger.DoException(deRunError, Format('RunError(%d)', [ErrorNo]), Location, '', CanContinue);
ExceptName := Format('RunError(%d)', [ErrorNo]);
ExceptItem := FTheDebugger.Exceptions.Find(ExceptName);
if (ExceptItem <> nil) and (ExceptItem.Enabled)
then begin
Result := True; //ExecuteCommand('-exec-continue')
exit;
end;
FTheDebugger.DoException(deRunError, ExceptName, Location, '', CanContinue);
if CanContinue
then begin
//ExecuteCommand('-exec-continue')