Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

JSDT/Debug/JavaScript Debug Interface

< JSDT‎ | Debug
JSDT Debug
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse SourceProject Set File

Overview

The JSDI specifies a format in which a debugger can communicate with a running virtual machine (VM). This includes describing methods to connect the VM and debugger, what events the vm can send to describe changes in state, what requests the debugger can make to alter the state and what values can be used to describe the state.

The JSDI specification is based on the Java Debug Interface specification.

Connectors

A connector is a method of connecting a debugger and a VM. Connectors must provide an ID and may have a name and description. To customize the behaviour of the connector a map of arguments may be provided, mapping string argument keys to their values.

JSDI specifies three forms of connectors

  1. Listening Connector - When launched, waits for a vm to connect
  2. Attaching Connector - Connects to an already running VM
  3. Launching Connector - Launches a VM and connects to it

See package org.eclipse.wst.jsdt.debug.core.jsdi.connect

Events

The VM will fire events to inform the debugger of changes in state. The following events can be send by the VM:

  • VM Death
  • VM Disconnect
  • Breakpoint
  • Debugger Statement
  • Exception
  • Script Load
  • Step
  • Suspend
  • Thread Enter
  • Thread Exit

See package org.eclipse.wst.jsdt.debug.core.jsdi.event

Requests

The debugger can create and send requests to the VM through the JSDI to get more information on the state of the VM or to modify it. The following types of requests are supported:

  • VM Death
  • VM Disconnect
  • Breakpoint
  • Debugger Statement
  • Exception
  • Script Load
  • Step
  • Suspend
  • Thread Enter
  • Thread Exist

See package org.eclipse.wst.jsdt.debug.core.jsdi.request

Values

The following value types are specified by the JSDI.

  • Null
  • Undefined
  • Object Reference
    • Object reference
    • Array reference
    • Function reference
  • Boolean
  • Number
  • String

See package org.eclipse.wst.jsdt.debug.core.jsdi

Back to the top