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/Rhino/Rhino Debug Wire Protocol

< JSDT‎ | Debug‎ | Rhino
Revision as of 11:35, 31 May 2010 by Michael Rennie.ca.ibm.com (Talk | contribs) (Response)

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

Overview

The Rhino Debug Wire Protocol (RDWP) is an adapted version of the v8 protocol using JSON to communicate with the remote Rhino debugger.

The RDWP was chosen to be JSON-based for a few reasons:

  1. It can be more easily extended to add new events, requests or responses.
  2. It is easier to understand by consumers
  3. It follows the de-facto JSON standard, which could allow it to communicate with other JSON-based efforts.

Packets

The RDWP performs all communication with the remote debugger using packets over a socket. The payload of each packet is the JSON string describing the event, request or response with a preamble containing the content length and a line terminator.

For example all packets follow the general form:

<content_length>
\r\n\
{
  "type":<packet_type>,
  "seq":<integer>,
  "running":<is_running>,
  "success":<success_status>,
  "body":{}
}

Event

Request

Response

A response packet is sent by the VM an corresponds directly to a request packet that has been sent. Response packets are never sent if a request has not been made.

All response packets are of the form:

<content_length>
\r\n
{
  "command":<command>,
  "type":"response",
  "request_seq":<request_sequence>,
  "seq":<packet_sequence>,
  "running":<is_running>,
  "success":<success_status>,
  "body":{}
}

Events

break

exception

script

thread

vmdeath

Requests

breakpoint

breakpoints

clearbreakpoint

connect

context

continue

dispose

evaluate

frame

frames

lookup

script

scripts

setbreakpoint

suspend

thread

threads

version

Responses

breakpoint

breakpoints

clearbreakpoint

continue

dispose

evaluate

frame

frames

lookup

script

scripts

setbreakpoint

suspend

thread

threads

version

Back to the top