Crate dap_types

source ·
Expand description

Debugger Adapter Protocol types for Rust.

Based on: https://microsoft.github.io/debug-adapter-protocol/specification (generated from machine-readable schema).

Modules§

  • Types representing events, with associated payload types.
  • Types representing protocol messages.
  • Types representing requests, with associated argument and response types.

Structs§

  • Information about a breakpoint created in setBreakpoints, setFunctionBreakpoints, setInstructionBreakpoints, or setDataBreakpoints requests.
  • The event indicates that some information about a breakpoint has changed.
  • Properties of a breakpoint location returned from the breakpointLocations request.
  • Arguments for breakpointLocations request.
  • Response to breakpointLocations request. Contains possible locations for source breakpoints.
  • A BreakpointMode is provided as a option when setting breakpoints on sources or instructions.
  • Arguments for cancel request.
  • Information about the capabilities of a debug adapter.
  • The event indicates that one or more capabilities have changed. Since the capabilities are dependent on the client and its UI, it might not be possible to change that at random times (or too late). Consequently this event has a hint characteristic: a client can only be expected to make a ‘best effort’ in honoring individual capabilities but there are no guarantees. Only changed capabilities need to be included, all other capabilities keep their values.
  • The checksum of an item calculated by the specified algorithm.
  • A ColumnDescriptor specifies what module attribute to show in a column of the modules view, how to format it, and what the column’s label should be. It is only used if the underlying UI actually supports this level of customization.
  • CompletionItems are the suggestions returned from the completions request.
  • Arguments for completions request.
  • Response to completions request.
  • Arguments for configurationDone request.
  • Arguments for continue request.
  • Response to continue request.
  • The event indicates that the execution of the debuggee has continued. Please note: a debug adapter is not expected to send this event in response to a request that implies that execution continues, e.g. launch or continue. It is only necessary to send a continued event if there was no previous request that implied this.
  • Properties of a data breakpoint passed to the setDataBreakpoints request.
  • Arguments for dataBreakpointInfo request.
  • Response to dataBreakpointInfo request.
  • Arguments for disassemble request.
  • Response to disassemble request.
  • Represents a single disassembled instruction.
  • Arguments for disconnect request.
  • Arguments for evaluate request.
  • Response to evaluate request.
  • An ExceptionBreakpointsFilter is shown in the UI as an filter option for configuring how exceptions are dealt with.
  • Detailed information about an exception that has occurred.
  • An ExceptionFilterOptions is used to specify an exception filter together with a condition for the setExceptionBreakpoints request.
  • Arguments for exceptionInfo request.
  • Response to exceptionInfo request.
  • An ExceptionOptions assigns configuration options to a set of exceptions.
  • An ExceptionPathSegment represents a segment in a path that is used to match leafs or nodes in a tree of exceptions. If a segment consists of more than one name, it matches the names provided if negate is false or missing, or it matches anything except the names provided if negate is true.
  • The event indicates that the debuggee has exited and returns its exit code.
  • Properties of a breakpoint passed to the setFunctionBreakpoints request.
  • Arguments for goto request.
  • A GotoTarget describes a code location that can be used as a target in the goto request. The possible goto targets can be determined via the gotoTargets request.
  • Arguments for gotoTargets request.
  • Response to gotoTargets request.
  • Arguments for initialize request.
  • Properties of a breakpoint passed to the setInstructionBreakpoints request
  • This event signals that some state in the debug adapter has changed and requires that the client needs to re-render the data snapshot previously requested. Debug adapters do not have to emit this event for runtime changes like stopped or thread events because in that case the client refetches the new state anyway. But the event can be used for example to refresh the UI after rendering formatting has changed in the debug adapter. This event should only be sent if the corresponding capability supportsInvalidatedEvent is true.
  • The event indicates that some source has been added, changed, or removed from the set of all loaded sources.
  • Arguments for loadedSources request.
  • Response to loadedSources request.
  • This event indicates that some memory range has been updated. It should only be sent if the corresponding capability supportsMemoryEvent is true. Clients typically react to the event by re-issuing a readMemory request if they show the memory identified by the memoryReference and if the updated memory range overlaps the displayed range. Clients should not make assumptions how individual memory references relate to each other, so they should not assume that they are part of a single continuous address range and might overlap. Debug adapters can use this event to indicate that the contents of a memory range has changed due to some other request like setVariable or setExpression. Debug adapters are not expected to emit this event for each and every memory change of a running program, because that information is typically not available from debuggers and it would flood clients with too many events.
  • A structured message object. Used to return errors from requests.
  • A Module object represents a row in the modules view. The id attribute identifies a module in the modules view and is used in a module event for identifying a module for adding, updating or deleting. The name attribute is used to minimally render the module in the UI.
  • The event indicates that some information about a module has changed.
  • Arguments for modules request.
  • Response to modules request.
  • Arguments for next request.
  • The event indicates that the target has produced some output.
  • Arguments for pause request.
  • The event indicates that the debugger has begun debugging a new process. Either one that it has launched, or one that it has attached to.
  • The event signals the end of the progress reporting with a final message. This event should only be sent if the corresponding capability supportsProgressReporting is true.
  • The event signals that a long running operation is about to start and provides additional information for the client to set up a corresponding progress and cancellation UI. The client is free to delay the showing of the UI in order to reduce flicker. This event should only be sent if the corresponding capability supportsProgressReporting is true.
  • The event signals that the progress reporting needs to be updated with a new message and/or percentage. The client does not have to update the UI immediately, but the clients needs to keep track of the message and/or percentage values. This event should only be sent if the corresponding capability supportsProgressReporting is true.
  • Arguments for readMemory request.
  • Response to readMemory request.
  • Arguments for restartFrame request.
  • Arguments for reverseContinue request.
  • Arguments for runInTerminal request.
  • Response to runInTerminal request.
  • A Scope is a named container for variables. Optionally a scope can map to a source or a range within a source.
  • Arguments for scopes request.
  • Response to scopes request.
  • Arguments for setBreakpoints request.
  • Response to setBreakpoints request. Returned is information about each breakpoint created by this request. This includes the actual code location and whether the breakpoint could be verified. The breakpoints returned are in the same order as the elements of the breakpoints (or the deprecated lines) array in the arguments.
  • Arguments for setDataBreakpoints request.
  • Response to setDataBreakpoints request. Returned is information about each breakpoint created by this request.
  • Arguments for setExceptionBreakpoints request.
  • Response to setExceptionBreakpoints request. The response contains an array of Breakpoint objects with information about each exception breakpoint or filter. The Breakpoint objects are in the same order as the elements of the filters, filterOptions, exceptionOptions arrays given as arguments. If both filters and filterOptions are given, the returned array must start with filters information first, followed by filterOptions information. The verified property of a Breakpoint object signals whether the exception breakpoint or filter could be successfully created and whether the condition is valid. In case of an error the message property explains the problem. The id property can be used to introduce a unique ID for the exception breakpoint or filter so that it can be updated subsequently by sending breakpoint events. For backward compatibility both the breakpoints array and the enclosing body are optional. If these elements are missing a client is not able to show problems for individual exception breakpoints or filters.
  • Arguments for setExpression request.
  • Response to setExpression request.
  • Arguments for setFunctionBreakpoints request.
  • Response to setFunctionBreakpoints request. Returned is information about each breakpoint created by this request.
  • Arguments for setInstructionBreakpoints request
  • Response to setInstructionBreakpoints request
  • Arguments for setVariable request.
  • Response to setVariable request.
  • A Source is a descriptor for source code. It is returned from the debug adapter as part of a StackFrame and it is used by clients when specifying breakpoints.
  • Arguments for source request.
  • Properties of a breakpoint or logpoint passed to the setBreakpoints request.
  • Response to source request.
  • A Stackframe contains the source location.
  • Provides formatting information for a stack frame.
  • Arguments for stackTrace request.
  • Response to stackTrace request.
  • Arguments for startDebugging request.
  • Arguments for stepBack request.
  • Arguments for stepIn request.
  • A StepInTarget can be used in the stepIn request and determines into which single target the stepIn request should step.
  • Arguments for stepInTargets request.
  • Response to stepInTargets request.
  • Arguments for stepOut request.
  • The event indicates that the execution of the debuggee has stopped due to some condition. This can be caused by a breakpoint previously set, a stepping request has completed, by executing a debugger statement etc.
  • Arguments for terminate request.
  • Arguments for terminateThreads request.
  • The event indicates that debugging of the debuggee has terminated. This does not mean that the debuggee itself has exited.
  • A Thread
  • The event indicates that a thread has started or exited.
  • Response to threads request.
  • Provides formatting information for a value.
  • A Variable is a name/value pair. The type attribute is shown if space permits or when hovering over the variable’s name. The kind attribute is used to render additional properties of the variable, e.g. different icons can be used to indicate that a variable is public or private. If the value is structured (has children), a handle is provided to retrieve the children with the variables request. If the number of named or indexed children is large, the numbers should be returned via the namedVariables and indexedVariables attributes. The client can use this information to present the children in a paged UI and fetch them in chunks.
  • Properties of a variable that can be used to determine how to render the variable in the UI.
  • Arguments for variables request.
  • Response to variables request.
  • Arguments for writeMemory request.
  • Response to writeMemory request.

Enums§