#[repr(C)]pub struct _dr_restore_state_info_t {
pub mcontext: *mut dr_mcontext_t,
pub raw_mcontext_valid: bool_,
pub raw_mcontext: *mut dr_mcontext_t,
pub fragment_info: dr_fault_fragment_info_t,
}Expand description
Data structure passed to a restore_state_ex event handler (see dr_register_restore_state_ex_event()). Contains the machine context at the translation point and other translation information.
Fields§
§mcontext: *mut dr_mcontext_tThe application machine state at the translation point. The client can update register values and the program counter by changing this context. The client should not change \p mcontext.flags: it should remain DR_MC_ALL.
raw_mcontext_valid: bool_Whether raw_mcontext is valid.
raw_mcontext: *mut dr_mcontext_tThe raw pre-translated machine state at the translation interruption point inside the code cache. Clients are cautioned when examining code cache instructions to not rely on any details of code inserted other than their own. Modifying this context will not affect the translation.
fragment_info: dr_fault_fragment_info_tInformation about the code fragment inside the code cache at the translation interruption point.
Trait Implementations§
Source§impl Clone for _dr_restore_state_info_t
impl Clone for _dr_restore_state_info_t
Source§fn clone(&self) -> _dr_restore_state_info_t
fn clone(&self) -> _dr_restore_state_info_t
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for _dr_restore_state_info_t
impl Debug for _dr_restore_state_info_t
impl Copy for _dr_restore_state_info_t
Auto Trait Implementations§
impl Freeze for _dr_restore_state_info_t
impl RefUnwindSafe for _dr_restore_state_info_t
impl !Send for _dr_restore_state_info_t
impl !Sync for _dr_restore_state_info_t
impl Unpin for _dr_restore_state_info_t
impl UnsafeUnpin for _dr_restore_state_info_t
impl UnwindSafe for _dr_restore_state_info_t
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more