pub struct Interceptor<Driver>where
Driver: VmiDriver,
<Driver::Architecture as Architecture>::EventReason: EventReason<Architecture = Driver::Architecture>,{ /* private fields */ }Expand description
Core implementation of software breakpoint handling.
Implementations§
Source§impl<Driver> Interceptor<Driver>where
Driver: VmiDriver,
<Driver::Architecture as Architecture>::EventReason: EventReason<Architecture = Driver::Architecture>,
impl<Driver> Interceptor<Driver>where
Driver: VmiDriver,
<Driver::Architecture as Architecture>::EventReason: EventReason<Architecture = Driver::Architecture>,
Sourcepub fn insert_breakpoint(
&mut self,
vmi: &VmiCore<Driver>,
address: Pa,
view: View,
) -> Result<Gfn, VmiError>
pub fn insert_breakpoint( &mut self, vmi: &VmiCore<Driver>, address: Pa, view: View, ) -> Result<Gfn, VmiError>
Inserts a breakpoint at the given address.
Sourcepub fn remove_breakpoint(
&mut self,
vmi: &VmiCore<Driver>,
address: Pa,
view: View,
) -> Result<Option<bool>, VmiError>
pub fn remove_breakpoint( &mut self, vmi: &VmiCore<Driver>, address: Pa, view: View, ) -> Result<Option<bool>, VmiError>
Removes a breakpoint at the given address.
Sourcepub fn remove_breakpoint_by_force(
&mut self,
vmi: &VmiCore<Driver>,
address: Pa,
view: View,
) -> Result<Option<bool>, VmiError>
pub fn remove_breakpoint_by_force( &mut self, vmi: &VmiCore<Driver>, address: Pa, view: View, ) -> Result<Option<bool>, VmiError>
Removes a breakpoint at the given address by force.
Sourcepub fn contains_breakpoint(
&self,
event: &VmiEvent<Driver::Architecture>,
) -> bool
pub fn contains_breakpoint( &self, event: &VmiEvent<Driver::Architecture>, ) -> bool
Checks if the given event was caused by a breakpoint managed by the
Interceptor.
Trait Implementations§
Source§impl<Driver> Default for Interceptor<Driver>where
Driver: VmiDriver + Default,
<Driver::Architecture as Architecture>::EventReason: EventReason<Architecture = Driver::Architecture>,
impl<Driver> Default for Interceptor<Driver>where
Driver: VmiDriver + Default,
<Driver::Architecture as Architecture>::EventReason: EventReason<Architecture = Driver::Architecture>,
Source§fn default() -> Interceptor<Driver>
fn default() -> Interceptor<Driver>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<Driver> Freeze for Interceptor<Driver>
impl<Driver> RefUnwindSafe for Interceptor<Driver>where
<<Driver as VmiDriver>::Architecture as Architecture>::EventReason: Sized,
Driver: RefUnwindSafe,
impl<Driver> Send for Interceptor<Driver>
impl<Driver> Sync for Interceptor<Driver>
impl<Driver> Unpin for Interceptor<Driver>
impl<Driver> UnwindSafe for Interceptor<Driver>where
<<Driver as VmiDriver>::Architecture as Architecture>::EventReason: Sized,
Driver: UnwindSafe,
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