Struct minidump::format::CONTEXT_AMD64 [−][src]
pub struct CONTEXT_AMD64 {}Show fields
pub p1_home: u64, pub p2_home: u64, pub p3_home: u64, pub p4_home: u64, pub p5_home: u64, pub p6_home: u64, pub context_flags: u32, pub mx_csr: u32, pub cs: u16, pub ds: u16, pub es: u16, pub fs: u16, pub gs: u16, pub ss: u16, pub eflags: u32, pub dr0: u64, pub dr1: u64, pub dr2: u64, pub dr3: u64, pub dr6: u64, pub dr7: u64, pub rax: u64, pub rcx: u64, pub rdx: u64, pub rbx: u64, pub rsp: u64, pub rbp: u64, pub rsi: u64, pub rdi: u64, pub r8: u64, pub r9: u64, pub r10: u64, pub r11: u64, pub r12: u64, pub r13: u64, pub r14: u64, pub r15: u64, pub rip: u64, pub float_save: [u8; 512], pub vector_register: [u128; 26], pub vector_control: u64, pub debug_control: u64, pub last_branch_to_rip: u64, pub last_branch_from_rip: u64, pub last_exception_to_rip: u64, pub last_exception_from_rip: u64,
Expand description
An x86-64 (amd64) CPU context
This struct matches the definition of CONTEXT
in WinNT.h for x86-64.
Fields
p1_home: u64
p2_home: u64
p3_home: u64
p4_home: u64
p5_home: u64
p6_home: u64
context_flags: u32
mx_csr: u32
cs: u16
ds: u16
es: u16
fs: u16
gs: u16
ss: u16
eflags: u32
dr0: u64
dr1: u64
dr2: u64
dr3: u64
dr6: u64
dr7: u64
rax: u64
rcx: u64
rdx: u64
rbx: u64
rsp: u64
rbp: u64
rsi: u64
rdi: u64
r8: u64
r9: u64
r10: u64
r11: u64
r12: u64
r13: u64
r14: u64
r15: u64
rip: u64
float_save: [u8; 512]
Floating point state
This is defined as a union in the C headers, but also
MAXIMUM_SUPPORTED_EXTENSION
is defined as 512 bytes.
Callers that want to access the underlying data can use Pread
to read either
an XMM_SAVE_AREA32
or SSE_REGISTERS
struct from this raw data as appropriate.
vector_register: [u128; 26]
vector_control: u64
debug_control: u64
last_branch_to_rip: u64
last_branch_from_rip: u64
last_exception_to_rip: u64
last_exception_from_rip: u64
Trait Implementations
impl Clone for CONTEXT_AMD64
[src]
impl Clone for CONTEXT_AMD64
[src]pub fn clone(&self) -> CONTEXT_AMD64
[src]
pub fn clone(&self) -> CONTEXT_AMD64
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl CpuContext for CONTEXT_AMD64
[src]
impl CpuContext for CONTEXT_AMD64
[src]fn get_register_always(&self, reg: &str) -> u64
[src]
fn get_register_always(&self, reg: &str) -> u64
[src]Get a register value regardless of whether it is valid.
fn set_register(&mut self, reg: &str, val: Self::Register) -> Option<()>
[src]
fn set_register(&mut self, reg: &str, val: Self::Register) -> Option<()>
[src]Set a register value, if that register name it exists. Read more
fn memoize_register(&self, reg: &str) -> Option<&'static str>
[src]
fn memoize_register(&self, reg: &str) -> Option<&'static str>
[src]Gets a static version of the given register name, if possible.
fn stack_pointer_register_name(&self) -> &'static str
[src]
fn stack_pointer_register_name(&self) -> &'static str
[src]Gets the name of the stack pointer register (for use with get_register/set_register).
fn instruction_pointer_register_name(&self) -> &'static str
[src]
fn instruction_pointer_register_name(&self) -> &'static str
[src]Gets the name of the instruction pointer register (for use with get_register/set_register).
fn get_register(
&self,
reg: &str,
valid: &MinidumpContextValidity
) -> Option<Self::Register>
[src]
fn get_register(
&self,
reg: &str,
valid: &MinidumpContextValidity
) -> Option<Self::Register>
[src]Get a register value if it is valid. Read more
fn format_register(&self, reg: &str) -> String
[src]
fn format_register(&self, reg: &str) -> String
[src]Return a String containing the value of reg
formatted to its natural width.
impl Debug for CONTEXT_AMD64
[src]
impl Debug for CONTEXT_AMD64
[src]impl Default for CONTEXT_AMD64
[src]
impl Default for CONTEXT_AMD64
[src]pub fn default() -> CONTEXT_AMD64
[src]
pub fn default() -> CONTEXT_AMD64
[src]Return CONTEXT_AMD64 { p1_home: Default::default(), p2_home: Default::default(), p3_home: Default::default(), p4_home: Default::default(), p5_home: Default::default(), p6_home: Default::default(), context_flags: Default::default(), mx_csr: Default::default(), cs: Default::default(), ds: Default::default(), es: Default::default(), fs: Default::default(), gs: Default::default(), ss: Default::default(), eflags: Default::default(), dr0: Default::default(), dr1: Default::default(), dr2: Default::default(), dr3: Default::default(), dr6: Default::default(), dr7: Default::default(), rax: Default::default(), rcx: Default::default(), rdx: Default::default(), rbx: Default::default(), rsp: Default::default(), rbp: Default::default(), rsi: Default::default(), rdi: Default::default(), r8: Default::default(), r9: Default::default(), r10: Default::default(), r11: Default::default(), r12: Default::default(), r13: Default::default(), r14: Default::default(), r15: Default::default(), rip: Default::default(), float_save: [0 ; 512], vector_register: [0 ; 26], vector_control: Default::default(), debug_control: Default::default(), last_branch_to_rip: Default::default(), last_branch_from_rip: Default::default(), last_exception_to_rip: Default::default(), last_exception_from_rip: Default::default() }
impl<'a> TryFromCtx<'a, Endian, [u8]> for CONTEXT_AMD64 where
CONTEXT_AMD64: 'a,
[src]
impl<'a> TryFromCtx<'a, Endian, [u8]> for CONTEXT_AMD64 where
CONTEXT_AMD64: 'a,
[src]type Error = Error
pub fn try_from_ctx(
src: &'a [u8],
ctx: Endian
) -> Result<(CONTEXT_AMD64, usize), <CONTEXT_AMD64 as TryFromCtx<'a, Endian, [u8]>>::Error>
[src]
src: &'a [u8],
ctx: Endian
) -> Result<(CONTEXT_AMD64, usize), <CONTEXT_AMD64 as TryFromCtx<'a, Endian, [u8]>>::Error>
Auto Trait Implementations
impl RefUnwindSafe for CONTEXT_AMD64
impl Send for CONTEXT_AMD64
impl Sync for CONTEXT_AMD64
impl Unpin for CONTEXT_AMD64
impl UnwindSafe for CONTEXT_AMD64
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more