Struct minidump_writer::minidump_format::format::CONTEXT_AMD64
source · [−]pub struct CONTEXT_AMD64 {Show 46 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
sourceimpl Clone for CONTEXT_AMD64
impl Clone for CONTEXT_AMD64
sourcefn clone(&self) -> CONTEXT_AMD64
fn clone(&self) -> CONTEXT_AMD64
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 Debug for CONTEXT_AMD64
impl Debug for CONTEXT_AMD64
sourceimpl Default for CONTEXT_AMD64
impl Default for CONTEXT_AMD64
sourcefn default() -> CONTEXT_AMD64
fn default() -> CONTEXT_AMD64
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() }
sourceimpl<'a> TryFromCtx<'a, Endian, [u8]> for CONTEXT_AMD64 where
CONTEXT_AMD64: 'a,
impl<'a> TryFromCtx<'a, Endian, [u8]> for CONTEXT_AMD64 where
CONTEXT_AMD64: 'a,
type Error = Error
fn try_from_ctx(
src: &'a [u8],
ctx: Endian
) -> Result<(CONTEXT_AMD64, usize), <CONTEXT_AMD64 as TryFromCtx<'a, Endian, [u8]>>::Error>
sourceimpl<'a> TryIntoCtx<Endian, [u8]> for &'a CONTEXT_AMD64
impl<'a> TryIntoCtx<Endian, [u8]> for &'a CONTEXT_AMD64
type Error = Error
fn try_into_ctx(
self,
dst: &mut [u8],
ctx: Endian
) -> Result<usize, <&'a CONTEXT_AMD64 as TryIntoCtx<Endian, [u8]>>::Error>
sourceimpl TryIntoCtx<Endian, [u8]> for CONTEXT_AMD64
impl TryIntoCtx<Endian, [u8]> for CONTEXT_AMD64
type Error = Error
fn try_into_ctx(
self,
dst: &mut [u8],
ctx: Endian
) -> Result<usize, <CONTEXT_AMD64 as TryIntoCtx<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
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