[][src]Struct uhyvelib::linux::gdb::CmdHandler

pub struct CmdHandler<'a> { /* fields omitted */ }

Implementations

impl<'a> CmdHandler<'a>[src]

pub fn new(
    cpu: &'a mut UhyveCPU,
    state: &'a RefCell<State>,
    signal: VcpuExit<'a>
) -> CmdHandler<'a>
[src]

pub fn continue_execution(&self, reason: VCont)[src]

Trait Implementations

impl<'a> Handler for CmdHandler<'a>[src]

pub fn set_current_thread(&self, id: ThreadId) -> Result<(), Error>[src]

TODO: actually implement thread switching for multithread support

pub fn current_thread(&self) -> Result<Option<ThreadId>, Error>[src]

Return the identifier of the current thread.

pub fn insert_write_watchpoint(
    &self,
    watchpoint: Watchpoint
) -> Result<(), Error>
[src]

Insert a write watchpoint.

pub fn insert_read_watchpoint(
    &self,
    watchpoint: Watchpoint
) -> Result<(), Error>
[src]

Insert a read watchpoint.

pub fn insert_access_watchpoint(
    &self,
    watchpoint: Watchpoint
) -> Result<(), Error>
[src]

Insert an access watchpoint.

pub fn remove_write_watchpoint(
    &self,
    watchpoint: Watchpoint
) -> Result<(), Error>
[src]

Remove a write watchpoint.

pub fn remove_read_watchpoint(
    &self,
    watchpoint: Watchpoint
) -> Result<(), Error>
[src]

Remove a read watchpoint.

pub fn remove_access_watchpoint(
    &self,
    watchpoint: Watchpoint
) -> Result<(), Error>
[src]

Remove an access watchpoint.

pub fn vcont(
    &self,
    actions: Vec<(VCont, Option<ThreadId>)>
) -> Result<StopReason, Error>
[src]

TODO: currently ignores tid/pid, and just continues/steps currently running cpu according to first command At most apply one action per thread. GDB likes to send default action for other threads, even if it knows only about 1: "vCont;s:1;c" (step thread 1, continue others)

pub fn thread_list(&self, reset: bool) -> Result<Vec<ThreadId>, Error>[src]

TODO: return actual number of threads, not just one

Auto Trait Implementations

impl<'a> !RefUnwindSafe for CmdHandler<'a>

impl<'a> !Send for CmdHandler<'a>

impl<'a> !Sync for CmdHandler<'a>

impl<'a> Unpin for CmdHandler<'a>

impl<'a> !UnwindSafe for CmdHandler<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.