Expand description
Debugger Adapter Protocol types for Rust.
Based on: https://microsoft.github.io/debug-adapter-protocol/specification (generated from machine-readable schema).
Modules§
- events
- Types representing events, with associated payload types.
- messages
- Types representing protocol messages.
- requests
- Types representing requests, with associated argument and response types.
Structs§
- Attach
Request Arguments - Breakpoint
- Information about a breakpoint created in
setBreakpoints
,setFunctionBreakpoints
,setInstructionBreakpoints
, orsetDataBreakpoints
requests. - Breakpoint
Event - The event indicates that some information about a breakpoint has changed.
- Breakpoint
Location - Properties of a breakpoint location returned from the
breakpointLocations
request. - Breakpoint
Locations Arguments - Arguments for
breakpointLocations
request. - Breakpoint
Locations Response - Response to
breakpointLocations
request. Contains possible locations for source breakpoints. - Breakpoint
Mode - A
BreakpointMode
is provided as a option when setting breakpoints on sources or instructions. - Cancel
Arguments - Arguments for
cancel
request. - Capabilities
- Information about the capabilities of a debug adapter.
- Capabilities
Event - 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.
- Checksum
- The checksum of an item calculated by the specified algorithm.
- Column
Descriptor - 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. - Completion
Item CompletionItems
are the suggestions returned from thecompletions
request.- Completions
Arguments - Arguments for
completions
request. - Completions
Response - Response to
completions
request. - Configuration
Done Arguments - Arguments for
configurationDone
request. - Continue
Arguments - Arguments for
continue
request. - Continue
Response - Response to
continue
request. - Continued
Event - 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. - Data
Breakpoint - Properties of a data breakpoint passed to the
setDataBreakpoints
request. - Data
Breakpoint Info Arguments - Arguments for
dataBreakpointInfo
request. - Data
Breakpoint Info Response - Response to
dataBreakpointInfo
request. - Disassemble
Arguments - Arguments for
disassemble
request. - Disassemble
Response - Response to
disassemble
request. - Disassembled
Instruction - Represents a single disassembled instruction.
- Disconnect
Arguments - Arguments for
disconnect
request. - Evaluate
Arguments - Arguments for
evaluate
request. - Evaluate
Response - Response to
evaluate
request. - Exception
Breakpoints Filter - An
ExceptionBreakpointsFilter
is shown in the UI as an filter option for configuring how exceptions are dealt with. - Exception
Details - Detailed information about an exception that has occurred.
- Exception
Filter Options - An
ExceptionFilterOptions
is used to specify an exception filter together with a condition for thesetExceptionBreakpoints
request. - Exception
Info Arguments - Arguments for
exceptionInfo
request. - Exception
Info Response - Response to
exceptionInfo
request. - Exception
Options - An
ExceptionOptions
assigns configuration options to a set of exceptions. - Exception
Path Segment - 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. - Exited
Event - The event indicates that the debuggee has exited and returns its exit code.
- Function
Breakpoint - Properties of a breakpoint passed to the
setFunctionBreakpoints
request. - Goto
Arguments - Arguments for
goto
request. - Goto
Target - 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. - Goto
Targets Arguments - Arguments for
gotoTargets
request. - Goto
Targets Response - Response to
gotoTargets
request. - Initialize
Request Arguments - Arguments for
initialize
request. - Instruction
Breakpoint - Properties of a breakpoint passed to the
setInstructionBreakpoints
request - Invalidated
Event - 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. - Launch
Request Arguments - Loaded
Source Event - The event indicates that some source has been added, changed, or removed from the set of all loaded sources.
- Loaded
Sources Arguments - Arguments for
loadedSources
request. - Loaded
Sources Response - Response to
loadedSources
request. - Memory
Event - 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. - Message
- A structured message object. Used to return errors from requests.
- Module
- 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. - Module
Event - The event indicates that some information about a module has changed.
- Modules
Arguments - Arguments for
modules
request. - Modules
Response - Response to
modules
request. - Next
Arguments - Arguments for
next
request. - Output
Event - The event indicates that the target has produced some output.
- Pause
Arguments - Arguments for
pause
request. - Process
Event - 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.
- Progress
EndEvent - 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. - Progress
Start Event - 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. - Progress
Update Event - 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. - Read
Memory Arguments - Arguments for
readMemory
request. - Read
Memory Response - Response to
readMemory
request. - Restart
Arguments - Restart
Frame Arguments - Arguments for
restartFrame
request. - Reverse
Continue Arguments - Arguments for
reverseContinue
request. - RunIn
Terminal Request Arguments - Arguments for
runInTerminal
request. - RunIn
Terminal Response - Response to
runInTerminal
request. - Scope
- A
Scope
is a named container for variables. Optionally a scope can map to a source or a range within a source. - Scopes
Arguments - Arguments for
scopes
request. - Scopes
Response - Response to
scopes
request. - SetBreakpoints
Arguments - Arguments for
setBreakpoints
request. - SetBreakpoints
Response - 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. - SetData
Breakpoints Arguments - Arguments for
setDataBreakpoints
request. - SetData
Breakpoints Response - Response to
setDataBreakpoints
request. Returned is information about each breakpoint created by this request. - SetException
Breakpoints Arguments - Arguments for
setExceptionBreakpoints
request. - SetException
Breakpoints Response - 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. - SetExpression
Arguments - Arguments for
setExpression
request. - SetExpression
Response - Response to
setExpression
request. - SetFunction
Breakpoints Arguments - Arguments for
setFunctionBreakpoints
request. - SetFunction
Breakpoints Response - Response to
setFunctionBreakpoints
request. Returned is information about each breakpoint created by this request. - SetInstruction
Breakpoints Arguments - Arguments for
setInstructionBreakpoints
request - SetInstruction
Breakpoints Response - Response to
setInstructionBreakpoints
request - SetVariable
Arguments - Arguments for
setVariable
request. - SetVariable
Response - Response to
setVariable
request. - Source
- 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. - Source
Arguments - Arguments for
source
request. - Source
Breakpoint - Properties of a breakpoint or logpoint passed to the
setBreakpoints
request. - Source
Response - Response to
source
request. - Stack
Frame - A Stackframe contains the source location.
- Stack
Frame Format - Provides formatting information for a stack frame.
- Stack
Trace Arguments - Arguments for
stackTrace
request. - Stack
Trace Response - Response to
stackTrace
request. - Start
Debugging Request Arguments - Arguments for
startDebugging
request. - Step
Back Arguments - Arguments for
stepBack
request. - Step
InArguments - Arguments for
stepIn
request. - Step
InTarget - A
StepInTarget
can be used in thestepIn
request and determines into which single target thestepIn
request should step. - Step
InTargets Arguments - Arguments for
stepInTargets
request. - Step
InTargets Response - Response to
stepInTargets
request. - Step
OutArguments - Arguments for
stepOut
request. - Stopped
Event - 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.
- Terminate
Arguments - Arguments for
terminate
request. - Terminate
Threads Arguments - Arguments for
terminateThreads
request. - Terminated
Event - The event indicates that debugging of the debuggee has terminated. This does not mean that the debuggee itself has exited.
- Thread
- A Thread
- Thread
Event - The event indicates that a thread has started or exited.
- Threads
Response - Response to
threads
request. - Value
Format - Provides formatting information for a value.
- Variable
- 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. - Variable
Presentation Hint - Properties of a variable that can be used to determine how to render the variable in the UI.
- Variables
Arguments - Arguments for
variables
request. - Variables
Response - Response to
variables
request. - Write
Memory Arguments - Arguments for
writeMemory
request. - Write
Memory Response - Response to
writeMemory
request.
Enums§
- Breakpoint
Event Reason - The reason for the event.
- Breakpoint
Mode Applicability - 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. - Breakpoint
Reason - 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:
- Checksum
Algorithm - Names of checksum algorithms that may be supported by a debug adapter.
- Column
Descriptor Type - Datatype of values in this column. Defaults to
string
if not specified. - Completion
Item Type - Some predefined types for the CompletionItem. Please note that not all clients have specific icons for all of them.
- Data
Breakpoint Access Type - This enumeration defines all possible access types for data breakpoints.
- Disassembled
Instruction Presentation Hint - A hint for how to present the instruction in the UI.
- Evaluate
Arguments Context - The context in which the evaluate request is used.
- Exception
Break Mode - 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.
- Initialize
Request Arguments Path Format - Determines in what format paths are specified. The default is
path
, which is the native format. - Invalidated
Areas - Logical areas that can be invalidated by the
invalidated
event. - Loaded
Source Event Reason - The reason for the event.
- Module
Event Reason - The reason for the event.
- Module
Id - Output
Event Category - The output category. If not specified or if the category is not understood by the client,
console
is assumed. - Output
Event Group - Support for keeping an output log organized by grouping related messages.
- Process
Event Start Method - Describes how the debug engine started debugging this process.
- RunIn
Terminal Request Arguments Kind - What kind of terminal to launch. Defaults to
integrated
if not specified. - Scope
Presentation Hint - A hint for how to present this scope in the UI. If this attribute is missing, the scope is shown with a generic UI.
- Source
Presentation Hint - 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. - Stack
Frame Presentation Hint - 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. - Start
Debugging Request Arguments Request - Indicates whether the new debug session should be started with a
launch
orattach
request. - Stepping
Granularity - The granularity of one ‘step’ in the stepping requests
next
,stepIn
,stepOut
, andstepBack
. - Stopped
Event Reason - 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). - Thread
Event Reason - The reason for the event.
- Variable
Presentation Hint Attributes - Variable
Presentation Hint Kind - The kind of variable. Before introducing additional values, try to use the listed values.
- Variable
Presentation Hint Visibility - Visibility of variable. Before introducing additional values, try to use the listed values.
- Variables
Arguments Filter - Filter to limit the child variables to either named or indexed. If omitted, both types are fetched.