A visual debugger session.

interface ISession {
    capabilities: undefined | Capabilities;
    connection: null | ISessionConnection;
    currentExceptionFilters: string[];
    disposed: ISignal<ISession, void>;
    eventMessage: ISignal<ISession, Event>;
    exceptionBreakpointFilters: undefined | ExceptionBreakpointsFilter[];
    exceptionPaths: string[];
    isDisposed: boolean;
    isStarted: boolean;
    dispose(): void;
    isPausingOnException(filter?): boolean;
    restoreState(): Promise<IDebugInfoResponse>;
    sendRequest<K>(command, args): Promise<Response[K]>;
    start(): Promise<void>;
    stop(): Promise<void>;



capabilities: undefined | Capabilities

Returns the initialize response.

connection: null | ISessionConnection

The API session connection to connect to a debugger.

currentExceptionFilters: string[]

Get current exception filter.

disposed: ISignal<ISession, void>

A signal emitted when the object is disposed.

eventMessage: ISignal<ISession, Event>

Signal emitted for debug event messages.

exceptionBreakpointFilters: undefined | ExceptionBreakpointsFilter[]

Get exception filters and default values.

exceptionPaths: string[]

Whether the debug session is pausing on exceptions.

isDisposed: boolean

Test whether the object has been disposed.


This property is always safe to access.

isStarted: boolean

Whether the debug session is started.


  • Dispose of the resources held by the object.


    If the object's dispose method is called more than once, all calls made after the first will be a no-op.

    Undefined Behavior

    It is undefined behavior to use any functionality of the object after it has been disposed unless otherwise explicitly noted.

    Returns void

  • Whether the debugger is pausing on exception.


    • Optional filter: string

      Specify a filter

    Returns boolean