Struct minidump::format::CONTEXT_X86
source · [−]pub struct CONTEXT_X86 {Show 25 fields
pub context_flags: u32,
pub dr0: u32,
pub dr1: u32,
pub dr2: u32,
pub dr3: u32,
pub dr6: u32,
pub dr7: u32,
pub float_save: FLOATING_SAVE_AREA_X86,
pub gs: u32,
pub fs: u32,
pub es: u32,
pub ds: u32,
pub edi: u32,
pub esi: u32,
pub ebx: u32,
pub edx: u32,
pub ecx: u32,
pub eax: u32,
pub ebp: u32,
pub eip: u32,
pub cs: u32,
pub eflags: u32,
pub esp: u32,
pub ss: u32,
pub extended_registers: [u8; 512],
}
Expand description
An x86 CPU context
This struct matches the definition of CONTEXT
in WinNT.h for x86.
Fields
context_flags: u32
dr0: u32
dr1: u32
dr2: u32
dr3: u32
dr6: u32
dr7: u32
float_save: FLOATING_SAVE_AREA_X86
gs: u32
fs: u32
es: u32
ds: u32
edi: u32
esi: u32
ebx: u32
edx: u32
ecx: u32
eax: u32
ebp: u32
eip: u32
cs: u32
eflags: u32
esp: u32
ss: u32
extended_registers: [u8; 512]
Trait Implementations
sourceimpl Clone for CONTEXT_X86
impl Clone for CONTEXT_X86
sourcefn clone(&self) -> CONTEXT_X86
fn clone(&self) -> CONTEXT_X86
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl CpuContext for CONTEXT_X86
impl CpuContext for CONTEXT_X86
sourceconst REGISTERS: &'static [&'static str]
const REGISTERS: &'static [&'static str]
General purpose registers in this context type.
sourcefn get_register_always(&self, reg: &str) -> u32
fn get_register_always(&self, reg: &str) -> u32
Get a register value regardless of whether it is valid.
sourcefn set_register(&mut self, reg: &str, val: Self::Register) -> Option<()>
fn set_register(&mut self, reg: &str, val: Self::Register) -> Option<()>
Set a register value, if that register name it exists. Read more
sourcefn stack_pointer_register_name(&self) -> &'static str
fn stack_pointer_register_name(&self) -> &'static str
Gets the name of the stack pointer register (for use with get_register/set_register).
sourcefn instruction_pointer_register_name(&self) -> &'static str
fn instruction_pointer_register_name(&self) -> &'static str
Gets the name of the instruction pointer register (for use with get_register/set_register).
sourcefn register_is_valid(&self, reg: &str, valid: &MinidumpContextValidity) -> bool
fn register_is_valid(&self, reg: &str, valid: &MinidumpContextValidity) -> bool
Gets whether the given register is valid Read more
sourcefn get_register(
&self,
reg: &str,
valid: &MinidumpContextValidity
) -> Option<Self::Register>
fn get_register(
&self,
reg: &str,
valid: &MinidumpContextValidity
) -> Option<Self::Register>
Get a register value if it is valid. Read more
sourcefn memoize_register(&self, reg: &str) -> Option<&'static str>
fn memoize_register(&self, reg: &str) -> Option<&'static str>
Gets a static version of the given register name, if possible. Read more
sourcefn format_register(&self, reg: &str) -> String
fn format_register(&self, reg: &str) -> String
Return a String containing the value of reg
formatted to its natural width.
sourcefn registers(&self) -> CpuRegisters<'_, Self>ⓘNotable traits for CpuRegisters<'a, T>impl<'a, T> Iterator for CpuRegisters<'a, T> where
T: CpuContext, type Item = (&'static str, T::Register);
fn registers(&self) -> CpuRegisters<'_, Self>ⓘNotable traits for CpuRegisters<'a, T>impl<'a, T> Iterator for CpuRegisters<'a, T> where
T: CpuContext, type Item = (&'static str, T::Register);
T: CpuContext, type Item = (&'static str, T::Register);
An iterator over all registers in this context. Read more
sourcefn valid_registers<'a>(
&'a self,
valid: &'a MinidumpContextValidity
) -> CpuRegisters<'a, Self>ⓘNotable traits for CpuRegisters<'a, T>impl<'a, T> Iterator for CpuRegisters<'a, T> where
T: CpuContext, type Item = (&'static str, T::Register);
fn valid_registers<'a>(
&'a self,
valid: &'a MinidumpContextValidity
) -> CpuRegisters<'a, Self>ⓘNotable traits for CpuRegisters<'a, T>impl<'a, T> Iterator for CpuRegisters<'a, T> where
T: CpuContext, type Item = (&'static str, T::Register);
T: CpuContext, type Item = (&'static str, T::Register);
An iterator over valid registers in this context. Read more
sourceimpl Debug for CONTEXT_X86
impl Debug for CONTEXT_X86
sourceimpl Default for CONTEXT_X86
impl Default for CONTEXT_X86
sourcefn default() -> CONTEXT_X86
fn default() -> CONTEXT_X86
Return CONTEXT_X86 { context_flags: Default::default(), dr0: Default::default(), dr1: Default::default(), dr2: Default::default(), dr3: Default::default(), dr6: Default::default(), dr7: Default::default(), float_save: Default::default(), gs: Default::default(), fs: Default::default(), es: Default::default(), ds: Default::default(), edi: Default::default(), esi: Default::default(), ebx: Default::default(), edx: Default::default(), ecx: Default::default(), eax: Default::default(), ebp: Default::default(), eip: Default::default(), cs: Default::default(), eflags: Default::default(), esp: Default::default(), ss: Default::default(), extended_registers: [0 ; 512] }
sourceimpl<'a> TryFromCtx<'a, Endian, [u8]> for CONTEXT_X86 where
CONTEXT_X86: 'a,
impl<'a> TryFromCtx<'a, Endian, [u8]> for CONTEXT_X86 where
CONTEXT_X86: 'a,
type Error = Error
fn try_from_ctx(
src: &'a [u8],
ctx: Endian
) -> Result<(CONTEXT_X86, usize), <CONTEXT_X86 as TryFromCtx<'a, Endian, [u8]>>::Error>
sourceimpl<'a> TryIntoCtx<Endian, [u8]> for &'a CONTEXT_X86
impl<'a> TryIntoCtx<Endian, [u8]> for &'a CONTEXT_X86
sourceimpl TryIntoCtx<Endian, [u8]> for CONTEXT_X86
impl TryIntoCtx<Endian, [u8]> for CONTEXT_X86
Auto Trait Implementations
impl RefUnwindSafe for CONTEXT_X86
impl Send for CONTEXT_X86
impl Sync for CONTEXT_X86
impl Unpin for CONTEXT_X86
impl UnwindSafe for CONTEXT_X86
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more