diff --git a/src/vs/workbench/parts/debug/common/debugModel.ts b/src/vs/workbench/parts/debug/common/debugModel.ts index 3d2fe5c1b7eac278e8f754630b1b25317d1fbdf2..f6e408239f337c4bf5f243a812c24c43b6975bb7 100644 --- a/src/vs/workbench/parts/debug/common/debugModel.ts +++ b/src/vs/workbench/parts/debug/common/debugModel.ts @@ -759,7 +759,8 @@ export class DebugModel implements IDebugModel { public addSession(session: IDebugSession): void { // Make sure to remove all inactive sessions once a new session is started - this.sessions = this.sessions.filter(s => s.state !== State.Inactive); + // Also make sure to de-dupe if a session is re-intialized. In case of EH debugging we are adding a session again after an attach. + this.sessions = this.sessions.filter(s => s.state !== State.Inactive && s.getId() !== session.getId()); this.sessions.push(session); this._onDidChangeCallStack.fire(); }