pub enum DebugRequest {
Attach,
Detach,
Resume {
response: OneshotSender<DebugStopReason>,
},
Break,
SetDebugState {
vp: u32,
state: DebugState,
},
GetVpState(FailableRpc<u32, Box<DebuggerVpState>>),
SetVpState(FailableRpc<(u32, Box<DebuggerVpState>), ()>),
ReadMemory(FailableRpc<(GuestAddress, usize), Vec<u8>>),
WriteMemory(FailableRpc<(GuestAddress, Vec<u8>), ()>),
}
Variants§
Attach
The debugger has been attached.
Detach
The debugger has been detached.
Resume
Resume the VM, responding with a DebugStopReason
once the VM encounters a stop condition (e.g: breakpoint hit)
Fields
§
response: OneshotSender<DebugStopReason>
Break
Debugger is requesting a manual break.
SetDebugState
Sets the hardware debugger state for a VP.
GetVpState(FailableRpc<u32, Box<DebuggerVpState>>)
Fetch the specified vp’s register state.
SetVpState(FailableRpc<(u32, Box<DebuggerVpState>), ()>)
Set the specified vp’s register state.
ReadMemory(FailableRpc<(GuestAddress, usize), Vec<u8>>)
Read from the specified GPA from the guest.
WriteMemory(FailableRpc<(GuestAddress, Vec<u8>), ()>)
Write to the specified GPA from the guest.
Trait Implementations§
Source§impl Debug for DebugRequest
impl Debug for DebugRequest
Source§impl DefaultEncoding for DebugRequest
impl DefaultEncoding for DebugRequest
Source§type Encoding = OneofEncoder
type Encoding = OneofEncoder
The encoding to use for the serialization. Read more
Source§impl<'encoding> OneofDecode<'encoding, Resource> for DebugRequest
impl<'encoding> OneofDecode<'encoding, Resource> for DebugRequest
Source§fn read_variant(
item: &mut InplaceOption<'_, Self>,
n: u32,
field: FieldReader<'encoding, '_, Resource>,
) -> Result<()>
fn read_variant( item: &mut InplaceOption<'_, Self>, n: u32, field: FieldReader<'encoding, '_, Resource>, ) -> Result<()>
Read the specified variant from the reader.
Source§impl OneofEncode<Resource> for DebugRequest
impl OneofEncode<Resource> for DebugRequest
Source§fn write_variant(self, writer: MessageWriter<'_, '_, Resource>)
fn write_variant(self, writer: MessageWriter<'_, '_, Resource>)
Write the variant to the writer.
Source§fn compute_variant_size(&mut self, sizer: MessageSizer<'_>)
fn compute_variant_size(&mut self, sizer: MessageSizer<'_>)
Compute the size of the variant.
Auto Trait Implementations§
impl Freeze for DebugRequest
impl !RefUnwindSafe for DebugRequest
impl Send for DebugRequest
impl Sync for DebugRequest
impl Unpin for DebugRequest
impl !UnwindSafe for DebugRequest
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> MeshField for Twhere
T: DefaultEncoding,
<T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
impl<T> MeshField for Twhere
T: DefaultEncoding,
<T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
type Encoding = <T as DefaultEncoding>::Encoding
Source§impl<T> MeshPayload for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
impl<T> MeshPayload for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
type Encoding = <T as DefaultEncoding>::Encoding
Source§impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
Source§fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
Computes the message size, as in
MessageEncode::compute_message_size
.Source§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in
MessageEncode::write_message
.Source§fn extract(self) -> <T as SerializeMessage>::Concrete
fn extract(self) -> <T as SerializeMessage>::Concrete
Extract the concrete message.