DBG: clean up, ProcessStopped is no longer called during startup. Mo meed to test for it

git-svn-id: trunk@36013 -
This commit is contained in:
martin 2012-03-14 21:30:19 +00:00
parent fb644ca8c1
commit 1b462526b8

View File

@ -4767,8 +4767,7 @@ function TGDBMIDebuggerCommandExecute.ProcessStopped(const AParams: String;
exit; exit;
end; end;
// The temp-at-start breakpoint is not checked. Ignore it if (DebuggerState = dsRun)
if (DebuggerState = dsRun) and (FTheDebugger.TargetPID <> 0) // not in startup
then begin then begin
debugln(['********** WARNING: breakpoint hit, but nothing known about it ABreakId=', ABreakID, ' brbtno=', List.Values['bkptno'] ]); debugln(['********** WARNING: breakpoint hit, but nothing known about it ABreakId=', ABreakID, ' brbtno=', List.Values['bkptno'] ]);
{$IFDEF DBG_VERBOSE_BRKPOINT} {$IFDEF DBG_VERBOSE_BRKPOINT}
@ -4927,14 +4926,9 @@ begin
Exit; Exit;
end; end;
// Some versions of GDB do not give any reason if hitting a temporary breakpoint DebugLn('[WARNING] Debugger: Unknown stopped reason: ', Reason);
// (like the temp-at-main during startup) SetDebuggerState(dsPause);
if (FTheDebugger.TargetPID <> 0) // not in startup ProcessFrame(List.Values['frame']);
then begin
DebugLn('[WARNING] Debugger: Unknown stopped reason: ', Reason);
SetDebuggerState(dsPause);
ProcessFrame(List.Values['frame']);
end;
finally finally
FTheDebugger.FInProcessStopped := False; FTheDebugger.FInProcessStopped := False;
List.Free; List.Free;
@ -5345,7 +5339,7 @@ begin
end; end;
if (not ContinueExecution) and (DebuggerState = dsRun) and if (not ContinueExecution) and (DebuggerState = dsRun) and
(TargetInfo^.TargetPID <> 0) and (FTheDebugger.PauseWaitState <> pwsInternal) (FTheDebugger.PauseWaitState <> pwsInternal)
then begin then begin
// Handle the unforeseen // Handle the unforeseen
if (StoppedParams <> '') if (StoppedParams <> '')