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, orsetDataBreakpointsrequests. - Breakpoint
Event - The event indicates that some information about a breakpoint has changed.
- Breakpoint
Location - Properties of a breakpoint location returned from the
breakpointLocationsrequest. - Breakpoint
Locations Arguments - Arguments for
breakpointLocationsrequest. - Breakpoint
Locations Response - Response to
breakpointLocationsrequest. Contains possible locations for source breakpoints. - Breakpoint
Mode - A
BreakpointModeis provided as a option when setting breakpoints on sources or instructions. - Cancel
Arguments - Arguments for
cancelrequest. - 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
ColumnDescriptorspecifies 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 CompletionItemsare the suggestions returned from thecompletionsrequest.- Completions
Arguments - Arguments for
completionsrequest. - Completions
Response - Response to
completionsrequest. - Configuration
Done Arguments - Arguments for
configurationDonerequest. - Continue
Arguments - Arguments for
continuerequest. - Continue
Response - Response to
continuerequest. - 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.
launchorcontinue. It is only necessary to send acontinuedevent if there was no previous request that implied this. - Data
Breakpoint - Properties of a data breakpoint passed to the
setDataBreakpointsrequest. - Data
Breakpoint Info Arguments - Arguments for
dataBreakpointInforequest. - Data
Breakpoint Info Response - Response to
dataBreakpointInforequest. - Disassemble
Arguments - Arguments for
disassemblerequest. - Disassemble
Response - Response to
disassemblerequest. - Disassembled
Instruction - Represents a single disassembled instruction.
- Disconnect
Arguments - Arguments for
disconnectrequest. - Evaluate
Arguments - Arguments for
evaluaterequest. - Evaluate
Response - Response to
evaluaterequest. - Exception
Breakpoints Filter - An
ExceptionBreakpointsFilteris 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
ExceptionFilterOptionsis used to specify an exception filter together with a condition for thesetExceptionBreakpointsrequest. - Exception
Info Arguments - Arguments for
exceptionInforequest. - Exception
Info Response - Response to
exceptionInforequest. - Exception
Options - An
ExceptionOptionsassigns configuration options to a set of exceptions. - Exception
Path Segment - An
ExceptionPathSegmentrepresents 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 ifnegateis false or missing, or it matches anything except the names provided ifnegateis 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
setFunctionBreakpointsrequest. - Goto
Arguments - Arguments for
gotorequest. - Goto
Target - A
GotoTargetdescribes a code location that can be used as a target in thegotorequest. The possible goto targets can be determined via thegotoTargetsrequest. - Goto
Targets Arguments - Arguments for
gotoTargetsrequest. - Goto
Targets Response - Response to
gotoTargetsrequest. - Initialize
Request Arguments - Arguments for
initializerequest. - Instruction
Breakpoint - Properties of a breakpoint passed to the
setInstructionBreakpointsrequest - 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
supportsInvalidatedEventis 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
loadedSourcesrequest. - Loaded
Sources Response - Response to
loadedSourcesrequest. - Memory
Event - This event indicates that some memory range has been updated. It should only be sent if the corresponding capability
supportsMemoryEventis true. Clients typically react to the event by re-issuing areadMemoryrequest if they show the memory identified by thememoryReferenceand 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 likesetVariableorsetExpression. 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
idattribute identifies a module in the modules view and is used in amoduleevent for identifying a module for adding, updating or deleting. Thenameattribute 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
modulesrequest. - Modules
Response - Response to
modulesrequest. - Next
Arguments - Arguments for
nextrequest. - Output
Event - The event indicates that the target has produced some output.
- Pause
Arguments - Arguments for
pauserequest. - 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
supportsProgressReportingis 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
supportsProgressReportingis 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
supportsProgressReportingis true. - Read
Memory Arguments - Arguments for
readMemoryrequest. - Read
Memory Response - Response to
readMemoryrequest. - Restart
Arguments - Restart
Frame Arguments - Arguments for
restartFramerequest. - Reverse
Continue Arguments - Arguments for
reverseContinuerequest. - RunIn
Terminal Request Arguments - Arguments for
runInTerminalrequest. - RunIn
Terminal Response - Response to
runInTerminalrequest. - Scope
- A
Scopeis a named container for variables. Optionally a scope can map to a source or a range within a source. - Scopes
Arguments - Arguments for
scopesrequest. - Scopes
Response - Response to
scopesrequest. - SetBreakpoints
Arguments - Arguments for
setBreakpointsrequest. - SetBreakpoints
Response - Response to
setBreakpointsrequest. 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
setDataBreakpointsrequest. - SetData
Breakpoints Response - Response to
setDataBreakpointsrequest. Returned is information about each breakpoint created by this request. - SetException
Breakpoints Arguments - Arguments for
setExceptionBreakpointsrequest. - SetException
Breakpoints Response - Response to
setExceptionBreakpointsrequest. The response contains an array ofBreakpointobjects with information about each exception breakpoint or filter. TheBreakpointobjects are in the same order as the elements of thefilters,filterOptions,exceptionOptionsarrays given as arguments. If bothfiltersandfilterOptionsare given, the returned array must start withfiltersinformation first, followed byfilterOptionsinformation. Theverifiedproperty of aBreakpointobject signals whether the exception breakpoint or filter could be successfully created and whether the condition is valid. In case of an error themessageproperty explains the problem. Theidproperty 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 thebreakpointsarray and the enclosingbodyare optional. If these elements are missing a client is not able to show problems for individual exception breakpoints or filters. - SetExpression
Arguments - Arguments for
setExpressionrequest. - SetExpression
Response - Response to
setExpressionrequest. - SetFunction
Breakpoints Arguments - Arguments for
setFunctionBreakpointsrequest. - SetFunction
Breakpoints Response - Response to
setFunctionBreakpointsrequest. Returned is information about each breakpoint created by this request. - SetInstruction
Breakpoints Arguments - Arguments for
setInstructionBreakpointsrequest - SetInstruction
Breakpoints Response - Response to
setInstructionBreakpointsrequest - SetVariable
Arguments - Arguments for
setVariablerequest. - SetVariable
Response - Response to
setVariablerequest. - Source
- A
Sourceis a descriptor for source code. It is returned from the debug adapter as part of aStackFrameand it is used by clients when specifying breakpoints. - Source
Arguments - Arguments for
sourcerequest. - Source
Breakpoint - Properties of a breakpoint or logpoint passed to the
setBreakpointsrequest. - Source
Response - Response to
sourcerequest. - Stack
Frame - A Stackframe contains the source location.
- Stack
Frame Format - Provides formatting information for a stack frame.
- Stack
Trace Arguments - Arguments for
stackTracerequest. - Stack
Trace Response - Response to
stackTracerequest. - Start
Debugging Request Arguments - Arguments for
startDebuggingrequest. - Step
Back Arguments - Arguments for
stepBackrequest. - Step
InArguments - Arguments for
stepInrequest. - Step
InTarget - A
StepInTargetcan be used in thestepInrequest and determines into which single target thestepInrequest should step. - Step
InTargets Arguments - Arguments for
stepInTargetsrequest. - Step
InTargets Response - Response to
stepInTargetsrequest. - Step
OutArguments - Arguments for
stepOutrequest. - 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
terminaterequest. - Terminate
Threads Arguments - Arguments for
terminateThreadsrequest. - 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
threadsrequest. - Value
Format - Provides formatting information for a value.
- Variable
- A Variable is a name/value pair.
The
typeattribute is shown if space permits or when hovering over the variable’s name. Thekindattribute 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 thevariablesrequest. If the number of named or indexed children is large, the numbers should be returned via thenamedVariablesandindexedVariablesattributes. 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
variablesrequest. - Variables
Response - Response to
variablesrequest. - Write
Memory Arguments - Arguments for
writeMemoryrequest. - Write
Memory Response - Response to
writeMemoryrequest.
Enums§
- Breakpoint
Event Reason - The reason for the event.
- Breakpoint
Mode Applicability - Describes one or more type of breakpoint a
BreakpointModeapplies 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
stringif 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
invalidatedevent. - 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,
consoleis 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
integratedif 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
deemphasizecan 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
labelcan be used to indicate that the frame is an artificial frame that is used as a visual label or separator. A value ofsubtlecan 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
launchorattachrequest. - 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
descriptionattribute 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.