pub enum Event {
Show 16 variants
Breakpoint(BreakpointEventBody),
Capabilities(CapabilitiesEventBody),
Continued(ContinuedEventBody),
Exited(ExitedEventBody),
Initialized,
Invalidated(InvalidatedEventBody),
LoadedSource(LoadedSourceEventBody),
Module(ModuleEventBody),
Output(OutputEventBody),
Process(ProcessEventBody),
ProgressEnd(ProgressEndEventBody),
ProgressStart(ProgressStartEventBody),
ProgressUpdate(ProgressUpdateEventBody),
Stopped(StoppedEventBody),
Terminated(TerminatedEventBody),
Thread(ThreadEventBody),
}
Expand description
A debug adapter initiated event.
Variants§
Breakpoint(BreakpointEventBody)
The event indicates that some information about a breakpoint has changed.
Capabilities(CapabilitiesEventBody)
The event indicates that one or more capabilities have changed.
Since the capabilities are dependent on the frontend 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 frontend can only be expected to make a ‘best effort’ in honouring individual capabilities but there are no guarantees.
Only changed capabilities need to be included, all other capabilities keep their values.
Continued(ContinuedEventBody)
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.
Exited(ExitedEventBody)
The event indicates that the debuggee has exited and returns its exit code.
Initialized
This event indicates that the debug adapter is ready to accept configuration requests (e.g. SetBreakpointsRequest, SetExceptionBreakpointsRequest).
A debug adapter is expected to send this event when it is ready to accept configuration requests (but not before the ‘initialize’ request has finished).
The sequence of events/requests is as follows:
-
adapters sends ‘initialized’ event (after the ‘initialize’ request has returned)
-
frontend sends zero or more ‘setBreakpoints’ requests
-
frontend sends one ‘setFunctionBreakpoints’ request (if capability ‘supportsFunctionBreakpoints’ is true)
-
frontend sends a ‘setExceptionBreakpoints’ request if one or more ‘exceptionBreakpointFilters’ have been defined (or if ‘supportsConfigurationDoneRequest’ is not defined or false)
-
frontend sends other future configuration requests
-
frontend sends one ‘configurationDone’ request to indicate the end of the configuration.
Invalidated(InvalidatedEventBody)
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 debug adapter has received a value true for the ‘supportsInvalidatedEvent’ capability of the ‘initialize’ request.
LoadedSource(LoadedSourceEventBody)
The event indicates that some source has been added, changed, or removed from the set of all loaded sources.
Module(ModuleEventBody)
The event indicates that some information about a module has changed.
Output(OutputEventBody)
The event indicates that the target has produced some output.
Process(ProcessEventBody)
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.
ProgressEnd(ProgressEndEventBody)
The event signals the end of the progress reporting with an optional final message.
This event should only be sent if the client has passed the value true for the ‘supportsProgressReporting’ capability of the ‘initialize’ request.
ProgressStart(ProgressStartEventBody)
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 client has passed the value true for the ‘supportsProgressReporting’ capability of the ‘initialize’ request.
ProgressUpdate(ProgressUpdateEventBody)
The event signals that the progress reporting needs to 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 client has passed the value true for the ‘supportsProgressReporting’ capability of the ‘initialize’ request.
Stopped(StoppedEventBody)
The event indicates that the execution of the debuggee has stopped due to some condition.
This can be caused by a break point previously set, a stepping request has completed, by executing a debugger statement etc.
Terminated(TerminatedEventBody)
The event indicates that debugging of the debuggee has terminated. This does not mean that the debuggee itself has exited.
Thread(ThreadEventBody)
The event indicates that a thread has started or exited.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Event
impl<'de> Deserialize<'de> for Event
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<BreakpointEventBody> for Event
impl From<BreakpointEventBody> for Event
Source§fn from(body: BreakpointEventBody) -> Self
fn from(body: BreakpointEventBody) -> Self
Source§impl From<CapabilitiesEventBody> for Event
impl From<CapabilitiesEventBody> for Event
Source§fn from(body: CapabilitiesEventBody) -> Self
fn from(body: CapabilitiesEventBody) -> Self
Source§impl From<ContinuedEventBody> for Event
impl From<ContinuedEventBody> for Event
Source§fn from(body: ContinuedEventBody) -> Self
fn from(body: ContinuedEventBody) -> Self
Source§impl From<Event> for ProtocolMessageContent
impl From<Event> for ProtocolMessageContent
Source§impl From<ExitedEventBody> for Event
impl From<ExitedEventBody> for Event
Source§fn from(body: ExitedEventBody) -> Self
fn from(body: ExitedEventBody) -> Self
Source§impl From<InvalidatedEventBody> for Event
impl From<InvalidatedEventBody> for Event
Source§fn from(body: InvalidatedEventBody) -> Self
fn from(body: InvalidatedEventBody) -> Self
Source§impl From<LoadedSourceEventBody> for Event
impl From<LoadedSourceEventBody> for Event
Source§fn from(body: LoadedSourceEventBody) -> Self
fn from(body: LoadedSourceEventBody) -> Self
Source§impl From<ModuleEventBody> for Event
impl From<ModuleEventBody> for Event
Source§fn from(body: ModuleEventBody) -> Self
fn from(body: ModuleEventBody) -> Self
Source§impl From<OutputEventBody> for Event
impl From<OutputEventBody> for Event
Source§fn from(body: OutputEventBody) -> Self
fn from(body: OutputEventBody) -> Self
Source§impl From<ProcessEventBody> for Event
impl From<ProcessEventBody> for Event
Source§fn from(body: ProcessEventBody) -> Self
fn from(body: ProcessEventBody) -> Self
Source§impl From<ProgressEndEventBody> for Event
impl From<ProgressEndEventBody> for Event
Source§fn from(body: ProgressEndEventBody) -> Self
fn from(body: ProgressEndEventBody) -> Self
Source§impl From<ProgressStartEventBody> for Event
impl From<ProgressStartEventBody> for Event
Source§fn from(body: ProgressStartEventBody) -> Self
fn from(body: ProgressStartEventBody) -> Self
Source§impl From<ProgressUpdateEventBody> for Event
impl From<ProgressUpdateEventBody> for Event
Source§fn from(body: ProgressUpdateEventBody) -> Self
fn from(body: ProgressUpdateEventBody) -> Self
Source§impl From<StoppedEventBody> for Event
impl From<StoppedEventBody> for Event
Source§fn from(body: StoppedEventBody) -> Self
fn from(body: StoppedEventBody) -> Self
Source§impl From<TerminatedEventBody> for Event
impl From<TerminatedEventBody> for Event
Source§fn from(body: TerminatedEventBody) -> Self
fn from(body: TerminatedEventBody) -> Self
Source§impl From<ThreadEventBody> for Event
impl From<ThreadEventBody> for Event
Source§fn from(body: ThreadEventBody) -> Self
fn from(body: ThreadEventBody) -> Self
impl Eq for Event
impl StructuralPartialEq for Event
Auto Trait Implementations§
impl Freeze for Event
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnwindSafe for Event
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.