diff --git a/src/vs/workbench/parts/debug/common/debug.ts b/src/vs/workbench/parts/debug/common/debug.ts index f4fcfae1ad0..8cdd2a71c2c 100644 --- a/src/vs/workbench/parts/debug/common/debug.ts +++ b/src/vs/workbench/parts/debug/common/debug.ts @@ -257,11 +257,6 @@ export interface IRawDebugSession { custom(request: string, args: any): TPromise; - /** - * Allows to register on each debug session stop event. - */ - onDidStop: Event; - onDidEvent: Event; } diff --git a/src/vs/workbench/parts/debug/electron-browser/debugActions.ts b/src/vs/workbench/parts/debug/electron-browser/debugActions.ts index 107dc77b868..611e9456904 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugActions.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugActions.ts @@ -557,11 +557,13 @@ export class RunToCursorAction extends EditorAction { const lineNumber = this.editor.getPosition().lineNumber; const uri = this.editor.getModel().uri; - const oneTimeListener = this.debugService.getActiveSession().onDidStop(() => { - const toRemove = this.debugService.getModel().getBreakpoints() - .filter(bp => bp.lineNumber === lineNumber && bp.source.uri.toString() === uri.toString()).pop(); - this.debugService.removeBreakpoints(toRemove.getId()); - oneTimeListener.dispose(); + const oneTimeListener = this.debugService.getActiveSession().onDidEvent(event => { + if (event.event === 'stopped' || event.event === 'exit') { + const toRemove = this.debugService.getModel().getBreakpoints() + .filter(bp => bp.lineNumber === lineNumber && bp.source.uri.toString() === uri.toString()).pop(); + this.debugService.removeBreakpoints(toRemove.getId()); + oneTimeListener.dispose(); + } }); return this.debugService.addBreakpoints([{ uri, lineNumber }]).then(() => { diff --git a/src/vs/workbench/parts/debug/test/common/mockDebugService.ts b/src/vs/workbench/parts/debug/test/common/mockDebugService.ts index f38b73a27c3..270b6c22c84 100644 --- a/src/vs/workbench/parts/debug/test/common/mockDebugService.ts +++ b/src/vs/workbench/parts/debug/test/common/mockDebugService.ts @@ -135,10 +135,6 @@ class MockRawSession implements debug.IRawDebugSession { }; } - public get onDidStop(): Event { - return null; - } - public get onDidEvent(): Event { return null; }