Struct minidump_common::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§

source§

impl Clone for CONTEXT_AMD64

source§

fn clone(&self) -> CONTEXT_AMD64

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CONTEXT_AMD64

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CONTEXT_AMD64

source§

fn default() -> Self

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() }

source§

impl SizeWith<Endian> for CONTEXT_AMD64

source§

impl<'a> TryFromCtx<'a, Endian> for CONTEXT_AMD64
where CONTEXT_AMD64: 'a,

§

type Error = Error

source§

fn try_from_ctx( src: &'a [u8], ctx: Endian ) -> Result<(Self, usize), Self::Error>

source§

impl<'a> TryIntoCtx<Endian> for &'a CONTEXT_AMD64

§

type Error = Error

source§

fn try_into_ctx(self, dst: &mut [u8], ctx: Endian) -> Result<usize, Self::Error>

source§

impl TryIntoCtx<Endian> for CONTEXT_AMD64

§

type Error = Error

source§

fn try_into_ctx(self, dst: &mut [u8], ctx: Endian) -> Result<usize, Self::Error>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.