diff --git a/src/ce_dbgitf.pas b/src/ce_dbgitf.pas index 1fe9e98b..94f0934f 100644 --- a/src/ce_dbgitf.pas +++ b/src/ce_dbgitf.pas @@ -47,6 +47,8 @@ type out line: integer; out kind: TBreakPointKind); // a break happens when code in fname at line is executed. procedure debugBreak(const fname: string; line: integer; reason: TCEDebugBreakReason); + // debugging continue + procedure debugContinue; end; (** @@ -57,6 +59,7 @@ type // TCEDebugObserverSubject primitives procedure subjDebugStart(subj: TCEDebugObserverSubject; dbg: ICEDebugger); procedure subjDebugStop(subj: TCEDebugObserverSubject); + procedure subjDebugContinue(subj: TCEDebugObserverSubject); procedure subjDebugBreak(subj: TCEDebugObserverSubject; const fname: string; line: integer; reason: TCEDebugBreakReason); @@ -88,5 +91,13 @@ begin (subj.observers[i] as ICEDebugObserver).debugBreak(fname, line, reason); end; +procedure subjDebugContinue(subj: TCEDebugObserverSubject); +var + i: integer; +begin + for i:= 0 to subj.observersCount-1 do + (subj.observers[i] as ICEDebugObserver).debugContinue; +end; + end. diff --git a/src/ce_gdb.pas b/src/ce_gdb.pas index 1f94b136..9a1b0c29 100644 --- a/src/ce_gdb.pas +++ b/src/ce_gdb.pas @@ -2249,7 +2249,10 @@ procedure TCEGdbWidget.btnContClick(Sender: TObject); begin gdbCommand('-exec-continue --all', @gdboutJsonize); if assigned(fGdb) and fgdb.Running then + begin setState(gsRunning); + subjDebugContinue(fSubj); + end; end; procedure TCEGdbWidget.btnVariablesClick(Sender: TObject); diff --git a/src/ce_synmemo.pas b/src/ce_synmemo.pas index 8344fd9b..d7347c34 100644 --- a/src/ce_synmemo.pas +++ b/src/ce_synmemo.pas @@ -219,6 +219,7 @@ type function findBreakPoint(line: integer): boolean; procedure debugStart(debugger: ICEDebugger); procedure debugStop; + procedure debugContinue; function debugQueryBpCount: integer; procedure debugQueryBreakPoint(const index: integer; out fname: string; out line: integer; out kind: TBreakPointKind); procedure debugBreak(const fname: string; line: integer; reason: TCEDebugBreakReason); @@ -2651,6 +2652,11 @@ begin removeDebugTimeMarks; end; +procedure TCESynMemo.debugContinue; +begin + removeDebugTimeMarks; +end; + function TCESynMemo.debugQueryBpCount: integer; begin exit(fBreakPoints.Count);