Skip to content

Commit cd54a47

Browse files
committed
Start Refresh Timer on step operations (DAP does not mandate continued event to come, start-stop-start sequence when it sends continued event doesn't hurt).
Stop Refresh Timer on exit/terminate, Signed-off-by: Jens Reinecke <[email protected]>
1 parent d2240c0 commit cd54a47

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/debug-session/gdbtarget-debug-tracker.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ export class GDBTargetDebugTracker {
126126
gdbTargetSession?.refreshTimer.stop();
127127
this._onStopped.fire({ session: gdbTargetSession, event } as StoppedEvent);
128128
break;
129+
case 'terminated':
130+
case 'exited':
131+
gdbTargetSession?.refreshTimer.stop();
132+
break;
129133
}
130134
}
131135

@@ -185,6 +189,11 @@ export class GDBTargetDebugTracker {
185189
case 'stackTrace':
186190
this.handleStackTraceRequest(gdbTargetSession, request as DebugProtocol.StackTraceRequest);
187191
break;
192+
case 'next':
193+
case 'stepIn':
194+
case 'stepOut':
195+
gdbTargetSession.refreshTimer.start();
196+
break;
188197
}
189198
}
190199
}

src/debug-session/periodic-refresh-timer.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ export class PeriodicRefreshTimer<T> {
3636
}
3737
}
3838

39+
public get isRunning(): boolean {
40+
return !!this._timer;
41+
}
42+
3943
constructor(public session: T, public interval: number = DEFAULT_REFRESH_INTERVAL) {
4044
}
4145

0 commit comments

Comments
 (0)