Struct crosvm::crosvm::gdb::GdbStub

source ·
pub struct GdbStub {
    vm_tube: Mutex<Tube>,
    vcpu_com: Vec<Sender<VcpuControl>>,
    from_vcpu: Receiver<VcpuDebugStatusMessage>,
    single_step: bool,
    max_hw_breakpoints: Option<usize>,
    hw_breakpoints: Vec<GuestAddress>,
}

Fields§

§vm_tube: Mutex<Tube>§vcpu_com: Vec<Sender<VcpuControl>>§from_vcpu: Receiver<VcpuDebugStatusMessage>§single_step: bool§max_hw_breakpoints: Option<usize>§hw_breakpoints: Vec<GuestAddress>

Implementations§

Trait Implementations§

Support for setting / removing hardware breakpoints.
Support for setting / removing software breakpoints.
Support for setting / removing hardware watchpoints.

Add a new hardware breakpoint. Return Ok(false) if the operation could not be completed.

Remove an existing hardware breakpoint. Return Ok(false) if the operation could not be completed.

Read to a single register on the target. Read more
Write from a single register on the target. Read more
Read the target’s registers.
Write the target’s registers.
Read bytes from the specified address range. Read more
Write bytes to the specified address range. Read more
Support for resuming the target (e.g: via continue or step)
Support for single-register access. See SingleRegisterAccess for more details. Read more
Resume execution on the target. Read more
Support for optimized single stepping.
Support for optimized range stepping.
Support for reverse stepping a target.
Support for reverse continuing a target.
The target’s architecture.
A target-specific fatal error.
Base operations such as reading/writing from memory/registers, stopping/resuming the target, etc…. Read more
Support for setting / removing breakpoints.
If the target supports resumption, but hasn’t implemented explicit support for software breakpoints (via SwBreakpoints), notify the user that the GDB client may set “implicit” software breakpoints by rewriting the target’s instruction stream. Read more
Override the arch-level value for [Arch::single_step_gdb_behavior]. Read more
Enable/disable using the more efficient X packet to write to target memory (as opposed to the basic M packet). Read more
Whether gdbstub should provide a “stub” resume implementation on targets without support for resumption. Read more
Enable/Disable the use of run-length encoding on outgoing packets. Read more
Whether to send a target description XML to the client. Read more
(LLDB extension) Whether to send register information to the client. Read more
Support for handling custom GDB monitor commands.
Support for Extended Mode operations.
Support for handling requests to get the target’s current section (or segment) offsets.
Support for overriding the target description XML specified by Target::Arch.
(LLDB extension) Support for overriding the register info specified by Target::Arch.
Support for reading the target’s memory map.
Support for setting / removing syscall catchpoints.
Support for Host I/O operations.
Support for reading the current exec-file.
Support for reading the target’s Auxillary Vector.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.