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
, orsetDataBreakpoints
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 thecompletions
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
orcontinue
. It is only necessary to send acontinued
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 thesetExceptionBreakpoints
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 ifnegate
is false or missing, or it matches anything except the names provided ifnegate
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 thegoto
request. The possible goto targets can be determined via thegotoTargets
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 areadMemory
request if they show the memory identified by thememoryReference
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 likesetVariable
orsetExpression
. 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 amodule
event for identifying a module for adding, updating or deleting. Thename
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 thebreakpoints
(or the deprecatedlines
) 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 ofBreakpoint
objects with information about each exception breakpoint or filter. TheBreakpoint
objects are in the same order as the elements of thefilters
,filterOptions
,exceptionOptions
arrays given as arguments. If bothfilters
andfilterOptions
are given, the returned array must start withfilters
information first, followed byfilterOptions
information. Theverified
property of aBreakpoint
object signals whether the exception breakpoint or filter could be successfully created and whether the condition is valid. In case of an error themessage
property explains the problem. Theid
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 thebreakpoints
array and the enclosingbody
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 aStackFrame
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 thestepIn
request and determines into which single target thestepIn
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. Thekind
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 thevariables
request. If the number of named or indexed children is large, the numbers should be returned via thenamedVariables
andindexedVariables
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§
- The reason for the event.
- Describes one or more type of breakpoint a
BreakpointMode
applies to. This is a non-exhaustive enumeration and may expand as future breakpoint types are added. - A machine-readable explanation of why a breakpoint may not be verified. If a breakpoint is verified or a specific reason is not known, the adapter should omit this property. Possible values include:
- Names of checksum algorithms that may be supported by a debug adapter.
- Datatype of values in this column. Defaults to
string
if not specified. - Some predefined types for the CompletionItem. Please note that not all clients have specific icons for all of them.
- This enumeration defines all possible access types for data breakpoints.
- A hint for how to present the instruction in the UI.
- The context in which the evaluate request is used.
- This enumeration defines all possible conditions when a thrown exception should result in a break. never: never breaks, always: always breaks, unhandled: breaks when exception unhandled, userUnhandled: breaks if the exception is not handled by user code.
- Determines in what format paths are specified. The default is
path
, which is the native format. - Logical areas that can be invalidated by the
invalidated
event. - The reason for the event.
- The reason for the event.
- The output category. If not specified or if the category is not understood by the client,
console
is assumed. - Support for keeping an output log organized by grouping related messages.
- Describes how the debug engine started debugging this process.
- What kind of terminal to launch. Defaults to
integrated
if not specified. - A hint for how to present this scope in the UI. If this attribute is missing, the scope is shown with a generic UI.
- A hint for how to present the source in the UI. A value of
deemphasize
can be used to indicate that the source is not available or that it is skipped on stepping. - A hint for how to present this frame in the UI. A value of
label
can be used to indicate that the frame is an artificial frame that is used as a visual label or separator. A value ofsubtle
can be used to change the appearance of a frame in a ‘subtle’ way. - Indicates whether the new debug session should be started with a
launch
orattach
request. - The granularity of one ‘step’ in the stepping requests
next
,stepIn
,stepOut
, andstepBack
. - The reason for the event. For backward compatibility this string is shown in the UI if the
description
attribute is missing (but it must not be translated). - The reason for the event.
- The kind of variable. Before introducing additional values, try to use the listed values.
- Visibility of variable. Before introducing additional values, try to use the listed values.
- Filter to limit the child variables to either named or indexed. If omitted, both types are fetched.