diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index e6d5c0f8ec032bddb47eac984cf8f47513451286..125178c0afac30da3aa8ad800283eb6aea627353 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -291,6 +291,10 @@ export class DebugService implements debug.IDebugService { } })); + this.toDisposeOnSessionEnd.push(this.session.onDidContinued(event => { + this.lazyTransitionToRunningState(event.body.allThreadsContinued ? undefined : event.body.threadId); + })); + this.toDisposeOnSessionEnd.push(this.session.onDidOutput(event => { if (event.body && event.body.category === 'telemetry') { // only log telemetry events from debug adapter if the adapter provided the telemetry key diff --git a/src/vs/workbench/parts/debug/node/rawDebugSession.ts b/src/vs/workbench/parts/debug/node/rawDebugSession.ts index 034db96e5b014ac633063a56f86221d95cbb10ba..21407b10ff5ea05b7ea909a1c5426737d794184c 100644 --- a/src/vs/workbench/parts/debug/node/rawDebugSession.ts +++ b/src/vs/workbench/parts/debug/node/rawDebugSession.ts @@ -56,6 +56,7 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes private _onDidInitialize: Emitter; private _onDidStop: Emitter; + private _onDidContinued: Emitter; private _onDidTerminateDebugee: Emitter; private _onDidExitAdapter: Emitter; private _onDidThread: Emitter; @@ -78,6 +79,7 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes this._onDidInitialize = new Emitter(); this._onDidStop = new Emitter(); + this._onDidContinued = new Emitter(); this._onDidTerminateDebugee = new Emitter(); this._onDidExitAdapter = new Emitter(); this._onDidThread = new Emitter(); @@ -94,6 +96,10 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes return this._onDidStop.event; } + public get onDidContinued(): Event { + return this._onDidContinued.event; + } + public get onDidTerminateDebugee(): Event { return this._onDidTerminateDebugee.event; } @@ -184,6 +190,8 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes } else if (event.event === 'stopped') { this.emittedStopped = true; this._onDidStop.fire(event); + } else if (event.event === 'continued') { + this._onDidContinued.fire(event); } else if (event.event === 'thread') { this._onDidThread.fire(event); } else if (event.event === 'output') {