src/vs/workbench/contrib/debug/browser/debugService.ts/DebugService/runTo
class DebugService:	async runTo(uri: uri, lineNumber: number, column?: number): Promise<void> {
		const focusedSession = this.getViewModel().focusedSession;
		if (this.state !== State.Stopped || !focusedSession) {
			return;
		}
		const bpExists = !!(this.getModel().getBreakpoints({ column, lineNumber, uri }).length);

		let breakpointToRemove: IBreakpoint | undefined;
		let threadToContinue = this.getViewModel().focusedThread;
		if (!bpExists) {
			const addResult = await this.addAndValidateBreakpoints(uri, lineNumber, column);
			if (addResult.thread) {
				threadToContinue = addResult.thread;
			}

			if (addResult.breakpoint) {
				breakpointToRemove = addResult.breakpoint;
			}
		}

		if (!threadToContinue) {
			return;
		}

		const oneTimeListener = threadToContinue.session.onDidChangeState(() => {
			const state = focusedSession.state;
			if (state === State.Stopped || state === State.Inactive) {
				if (breakpointToRemove) {
					this.removeBreakpoints(breakpointToRemove.getId());
				}
				oneTimeListener.dispose();
			}
		});

		await threadToContinue.continue();
	}