Enum Request

Source
pub enum Request {
Show 41 variants Attach(AttachRequestArguments), BreakpointLocations(BreakpointLocationsRequestArguments), Cancel(CancelRequestArguments), Completions(CompletionsRequestArguments), ConfigurationDone, Continue(ContinueRequestArguments), DataBreakpointInfo(DataBreakpointInfoRequestArguments), Disassemble(DisassembleRequestArguments), Disconnect(DisconnectRequestArguments), Evaluate(EvaluateRequestArguments), ExceptionInfo(ExceptionInfoRequestArguments), Goto(GotoRequestArguments), GotoTargets(GotoTargetsRequestArguments), Initialize(InitializeRequestArguments), Launch(LaunchRequestArguments), LoadedSources, Modules(ModulesRequestArguments), Next(NextRequestArguments), Pause(PauseRequestArguments), ReadMemory(ReadMemoryRequestArguments), RestartFrame(RestartFrameRequestArguments), ReverseContinue(ReverseContinueRequestArguments), RunInTerminal(RunInTerminalRequestArguments), Scopes(ScopesRequestArguments), SetBreakpoints(SetBreakpointsRequestArguments), SetDataBreakpoints(SetDataBreakpointsRequestArguments), SetExceptionBreakpoints(SetExceptionBreakpointsRequestArguments), SetExpression(SetExpressionRequestArguments), SetFunctionBreakpoints(SetFunctionBreakpointsRequestArguments), SetInstructionBreakpoints(SetInstructionBreakpointsRequestArguments), SetVariable(SetVariableRequestArguments), Source(SourceRequestArguments), StackTrace(StackTraceRequestArguments), StepBack(StepBackRequestArguments), StepIn(StepInRequestArguments), StepInTargets(StepInTargetsRequestArguments), StepOut(StepOutRequestArguments), Terminate(TerminateRequestArguments), TerminateThreads(TerminateThreadsRequestArguments), Threads, Variables(VariablesRequestArguments),
}
Expand description

A client or debug adapter initiated request.

Variants§

§

Attach(AttachRequestArguments)

The attach request is sent from the client to the debug adapter to attach to a debuggee that is already running.

Since attaching is debugger/runtime specific, the arguments for this request are not part of this specification.

§

BreakpointLocations(BreakpointLocationsRequestArguments)

The ‘breakpointLocations’ request returns all possible locations for source breakpoints in a given range.

Clients should only call this request if the capability ‘supportsBreakpointLocationsRequest’ is true.

§

Cancel(CancelRequestArguments)

The ‘cancel’ request is used by the frontend in two situations:

  • to indicate that it is no longer interested in the result produced by a specific request issued earlier

  • to cancel a progress sequence. Clients should only call this request if the capability ‘supportsCancelRequest’ is true.

This request has a hint characteristic: a debug adapter can only be expected to make a ‘best effort’ in honouring this request but there are no guarantees.

The ‘cancel’ request may return an error if it could not cancel an operation but a frontend should refrain from presenting this error to end users.

A frontend client should only call this request if the capability ‘supportsCancelRequest’ is true.

The request that got canceled still needs to send a response back. This can either be a normal result (‘success’ attribute true)

or an error response (‘success’ attribute false and the ‘message’ set to ‘cancelled’).

Returning partial results from a cancelled request is possible but please note that a frontend client has no generic way for detecting that a response is partial or not.

The progress that got cancelled still needs to send a ‘progressEnd’ event back.

A client should not assume that progress just got cancelled after sending the ‘cancel’ request.

§

Completions(CompletionsRequestArguments)

Returns a list of possible completions for a given caret position and text.

Clients should only call this request if the capability ‘supportsCompletionsRequest’ is true.

§

ConfigurationDone

This optional request indicates that the client has finished initialization of the debug adapter.

So it is the last request in the sequence of configuration requests (which was started by the ‘initialized’ event).

Clients should only call this request if the capability ‘supportsConfigurationDoneRequest’ is true.

§

Continue(ContinueRequestArguments)

The request starts the debuggee to run again.

§

DataBreakpointInfo(DataBreakpointInfoRequestArguments)

Obtains information on a possible data breakpoint that could be set on an expression or variable.

Clients should only call this request if the capability ‘supportsDataBreakpoints’ is true.

§

Disassemble(DisassembleRequestArguments)

Disassembles code stored at the provided location.

Clients should only call this request if the capability ‘supportsDisassembleRequest’ is true.

§

Disconnect(DisconnectRequestArguments)

The ‘disconnect’ request is sent from the client to the debug adapter in order to stop debugging.

It asks the debug adapter to disconnect from the debuggee and to terminate the debug adapter.

If the debuggee has been started with the ‘launch’ request, the ‘disconnect’ request terminates the debuggee.

If the ‘attach’ request was used to connect to the debuggee, ‘disconnect’ does not terminate the debuggee.

This behavior can be controlled with the ‘terminateDebuggee’ argument (if supported by the debug adapter).

§

Evaluate(EvaluateRequestArguments)

Evaluates the given expression in the context of the top most stack frame.

The expression has access to any variables and arguments that are in scope.

§

ExceptionInfo(ExceptionInfoRequestArguments)

Retrieves the details of the exception that caused this event to be raised.

Clients should only call this request if the capability ‘supportsExceptionInfoRequest’ is true.

§

Goto(GotoRequestArguments)

The request sets the location where the debuggee will continue to run.

This makes it possible to skip the execution of code or to executed code again.

The code between the current location and the goto target is not executed but skipped.

The debug adapter first sends the response and then a ‘stopped’ event with reason ‘goto’.

Clients should only call this request if the capability ‘supportsGotoTargetsRequest’ is true (because only then goto targets exist that can be passed as arguments).

§

GotoTargets(GotoTargetsRequestArguments)

This request retrieves the possible goto targets for the specified source location.

These targets can be used in the ‘goto’ request.

Clients should only call this request if the capability ‘supportsGotoTargetsRequest’ is true.

§

Initialize(InitializeRequestArguments)

The ‘initialize’ request is sent as the first request from the client to the debug adapter

in order to configure it with client capabilities and to retrieve capabilities from the debug adapter.

Until the debug adapter has responded to with an ‘initialize’ response, the client must not send any additional requests or events to the debug adapter.

In addition the debug adapter is not allowed to send any requests or events to the client until it has responded with an ‘initialize’ response.

The ‘initialize’ request may only be sent once.

§

Launch(LaunchRequestArguments)

This launch request is sent from the client to the debug adapter to start the debuggee with or without debugging (if ‘noDebug’ is true).

Since launching is debugger/runtime specific, the arguments for this request are not part of this specification.

§

LoadedSources

Retrieves the set of all sources currently loaded by the debugged process.

Clients should only call this request if the capability ‘supportsLoadedSourcesRequest’ is true.

§

Modules(ModulesRequestArguments)

Modules can be retrieved from the debug adapter with this request which can either return all modules or a range of modules to support paging.

Clients should only call this request if the capability ‘supportsModulesRequest’ is true.

§

Next(NextRequestArguments)

The request starts the debuggee to run again for one step.

The debug adapter first sends the response and then a ‘stopped’ event (with reason ‘step’) after the step has completed.

§

Pause(PauseRequestArguments)

The request suspends the debuggee.

The debug adapter first sends the response and then a ‘stopped’ event (with reason ‘pause’) after the thread has been paused successfully.

§

ReadMemory(ReadMemoryRequestArguments)

Reads bytes from memory at the provided location.

Clients should only call this request if the capability ‘supportsReadMemoryRequest’ is true.

§

RestartFrame(RestartFrameRequestArguments)

The request restarts execution of the specified stackframe.

The debug adapter first sends the response and then a ‘stopped’ event (with reason ‘restart’) after the restart has completed.

Clients should only call this request if the capability ‘supportsRestartFrame’ is true.

§

ReverseContinue(ReverseContinueRequestArguments)

The request starts the debuggee to run backward.

Clients should only call this request if the capability ‘supportsStepBack’ is true.

§

RunInTerminal(RunInTerminalRequestArguments)

This optional request is sent from the debug adapter to the client to run a command in a terminal.

This is typically used to launch the debuggee in a terminal provided by the client.

This request should only be called if the client has passed the value true for the ‘supportsRunInTerminalRequest’ capability of the ‘initialize’ request.

§

Scopes(ScopesRequestArguments)

The request returns the variable scopes for a given stackframe ID.

§

SetBreakpoints(SetBreakpointsRequestArguments)

Sets multiple breakpoints for a single source and clears all previous breakpoints in that source.

To clear all breakpoint for a source, specify an empty array.

When a breakpoint is hit, a ‘stopped’ event (with reason ‘breakpoint’) is generated.

§

SetDataBreakpoints(SetDataBreakpointsRequestArguments)

Replaces all existing data breakpoints with new data breakpoints.

To clear all data breakpoints, specify an empty array.

When a data breakpoint is hit, a ‘stopped’ event (with reason ‘data breakpoint’) is generated.

Clients should only call this request if the capability ‘supportsDataBreakpoints’ is true.

§

SetExceptionBreakpoints(SetExceptionBreakpointsRequestArguments)

The request configures the debuggers response to thrown exceptions.

If an exception is configured to break, a ‘stopped’ event is fired (with reason ‘exception’).

Clients should only call this request if the capability ‘exceptionBreakpointFilters’ returns one or more filters.

§

SetExpression(SetExpressionRequestArguments)

Evaluates the given ‘value’ expression and assigns it to the ‘expression’ which must be a modifiable l-value.

The expressions have access to any variables and arguments that are in scope of the specified frame.

Clients should only call this request if the capability ‘supportsSetExpression’ is true.

If a debug adapter implements both setExpression and setVariable, a client will only use setExpression if the variable has an evaluateName property.

§

SetFunctionBreakpoints(SetFunctionBreakpointsRequestArguments)

Replaces all existing function breakpoints with new function breakpoints.

To clear all function breakpoints, specify an empty array.

When a function breakpoint is hit, a ‘stopped’ event (with reason ‘function breakpoint’) is generated.

Clients should only call this request if the capability ‘supportsFunctionBreakpoints’ is true.

§

SetInstructionBreakpoints(SetInstructionBreakpointsRequestArguments)

Replaces all existing instruction breakpoints. Typically, instruction breakpoints would be set from a diassembly window.

To clear all instruction breakpoints, specify an empty array.

When an instruction breakpoint is hit, a ‘stopped’ event (with reason ‘instruction breakpoint’) is generated.

Clients should only call this request if the capability ‘supportsInstructionBreakpoints’ is true.

§

SetVariable(SetVariableRequestArguments)

Set the variable with the given name in the variable container to a new value. Clients should only call this request if the capability ‘supportsSetVariable’ is true.

If a debug adapter implements both setVariable and setExpression, a client will only use setExpression if the variable has an evaluateName property.

§

Source(SourceRequestArguments)

The request retrieves the source code for a given source reference.

§

StackTrace(StackTraceRequestArguments)

The request returns a stacktrace from the current execution state of a given thread.

A client can request all stack frames by omitting the startFrame and levels arguments. For performance conscious clients and if the debug adapter’s ‘supportsDelayedStackTraceLoading’ capability is true, stack frames can be retrieved in a piecemeal way with the startFrame and levels arguments. The response of the stackTrace request may contain a totalFrames property that hints at the total number of frames in the stack. If a client needs this total number upfront, it can issue a request for a single (first) frame and depending on the value of totalFrames decide how to proceed. In any case a client should be prepared to receive less frames than requested, which is an indication that the end of the stack has been reached.

§

StepBack(StepBackRequestArguments)

The request starts the debuggee to run one step backwards.

The debug adapter first sends the response and then a ‘stopped’ event (with reason ‘step’) after the step has completed.

Clients should only call this request if the capability ‘supportsStepBack’ is true.

§

StepIn(StepInRequestArguments)

The request starts the debuggee to step into a function/method if possible.

If it cannot step into a target, ‘stepIn’ behaves like ‘next’.

The debug adapter first sends the response and then a ‘stopped’ event (with reason ‘step’) after the step has completed.

If there are multiple function/method calls (or other targets) on the source line,

the optional argument ‘targetId’ can be used to control into which target the ‘stepIn’ should occur.

The list of possible targets for a given source line can be retrieved via the ‘stepInTargets’ request.

§

StepInTargets(StepInTargetsRequestArguments)

This request retrieves the possible stepIn targets for the specified stack frame.

These targets can be used in the ‘stepIn’ request.

The StepInTargets may only be called if the ‘supportsStepInTargetsRequest’ capability exists and is true.

Clients should only call this request if the capability ‘supportsStepInTargetsRequest’ is true.

§

StepOut(StepOutRequestArguments)

The request starts the debuggee to run again for one step.

The debug adapter first sends the response and then a ‘stopped’ event (with reason ‘step’) after the step has completed.

§

Terminate(TerminateRequestArguments)

The ‘terminate’ request is sent from the client to the debug adapter in order to give the debuggee a chance for terminating itself.

Clients should only call this request if the capability ‘supportsTerminateRequest’ is true.

§

TerminateThreads(TerminateThreadsRequestArguments)

The request terminates the threads with the given ids.

Clients should only call this request if the capability ‘supportsTerminateThreadsRequest’ is true.

§

Threads

The request retrieves a list of all threads.

§

Variables(VariablesRequestArguments)

Retrieves all child variables for the given variable reference.

An optional filter can be used to limit the fetched children to either named or indexed children.

Trait Implementations§

Source§

impl Clone for Request

Source§

fn clone(&self) -> Request

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Request

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Request

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<AttachRequestArguments> for Request

Source§

fn from(args: AttachRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<BreakpointLocationsRequestArguments> for Request

Source§

fn from(args: BreakpointLocationsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<CancelRequestArguments> for Request

Source§

fn from(args: CancelRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<CompletionsRequestArguments> for Request

Source§

fn from(args: CompletionsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<ContinueRequestArguments> for Request

Source§

fn from(args: ContinueRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<DataBreakpointInfoRequestArguments> for Request

Source§

fn from(args: DataBreakpointInfoRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<DisassembleRequestArguments> for Request

Source§

fn from(args: DisassembleRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<DisconnectRequestArguments> for Request

Source§

fn from(args: DisconnectRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<EvaluateRequestArguments> for Request

Source§

fn from(args: EvaluateRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<ExceptionInfoRequestArguments> for Request

Source§

fn from(args: ExceptionInfoRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<GotoRequestArguments> for Request

Source§

fn from(args: GotoRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<GotoTargetsRequestArguments> for Request

Source§

fn from(args: GotoTargetsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<InitializeRequestArguments> for Request

Source§

fn from(args: InitializeRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<LaunchRequestArguments> for Request

Source§

fn from(args: LaunchRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<ModulesRequestArguments> for Request

Source§

fn from(args: ModulesRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<NextRequestArguments> for Request

Source§

fn from(args: NextRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<PauseRequestArguments> for Request

Source§

fn from(args: PauseRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<ReadMemoryRequestArguments> for Request

Source§

fn from(args: ReadMemoryRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<Request> for ProtocolMessageContent

Source§

fn from(request: Request) -> Self

Converts to this type from the input type.
Source§

impl From<RestartFrameRequestArguments> for Request

Source§

fn from(args: RestartFrameRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<ReverseContinueRequestArguments> for Request

Source§

fn from(args: ReverseContinueRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<RunInTerminalRequestArguments> for Request

Source§

fn from(args: RunInTerminalRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<ScopesRequestArguments> for Request

Source§

fn from(args: ScopesRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<SetBreakpointsRequestArguments> for Request

Source§

fn from(args: SetBreakpointsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<SetDataBreakpointsRequestArguments> for Request

Source§

fn from(args: SetDataBreakpointsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<SetExceptionBreakpointsRequestArguments> for Request

Source§

fn from(args: SetExceptionBreakpointsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<SetExpressionRequestArguments> for Request

Source§

fn from(args: SetExpressionRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<SetFunctionBreakpointsRequestArguments> for Request

Source§

fn from(args: SetFunctionBreakpointsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<SetInstructionBreakpointsRequestArguments> for Request

Source§

fn from(args: SetInstructionBreakpointsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<SetVariableRequestArguments> for Request

Source§

fn from(args: SetVariableRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<SourceRequestArguments> for Request

Source§

fn from(args: SourceRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<StackTraceRequestArguments> for Request

Source§

fn from(args: StackTraceRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<StepBackRequestArguments> for Request

Source§

fn from(args: StepBackRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<StepInRequestArguments> for Request

Source§

fn from(args: StepInRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<StepInTargetsRequestArguments> for Request

Source§

fn from(args: StepInTargetsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<StepOutRequestArguments> for Request

Source§

fn from(args: StepOutRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<TerminateRequestArguments> for Request

Source§

fn from(args: TerminateRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<TerminateThreadsRequestArguments> for Request

Source§

fn from(args: TerminateThreadsRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl From<VariablesRequestArguments> for Request

Source§

fn from(args: VariablesRequestArguments) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Request

Source§

fn eq(&self, other: &Request) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Request

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for Request

Source§

impl StructuralPartialEq for Request

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,