[−][src]Struct pdb::FrameData
Frame data for a code block.
Fields
ty: FrameType
Compiler-specific frame type.
code_start: PdbInternalRva
Relative virtual address of the start of the code block.
Note that this address is internal to the PDB. To convert this to an actual Rva
, use
to_rva
.
code_size: u32
Size of the code block covered by this frame data in bytes.
locals_size: u32
Size of local variables pushed on the stack in bytes.
params_size: u32
Size of parameters pushed on the stack in bytes.
prolog_size: u16
Number of bytes of prologue code in the block.
saved_regs_size: u16
Size of saved registers pushed on the stack in bytes.
max_stack_size: Option<u32>
The maximum number of bytes pushed on the stack.
has_structured_eh: bool
Indicates that structured exception handling is in effect.
has_cpp_eh: bool
Indicates that C++ exception handling is in effect.
is_function_start: bool
Indicates that this frame is the start of a function.
uses_base_pointer: bool
Indicates that this function uses the EBP register.
program: Option<StringRef>
A program string allowing to reconstruct register values for this frame.
The program string is a sequence of macros that is interpreted in order to establish the
prologue. For example, a typical stack frame might use the program string "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + ="
. The format is reverse polish notation, where the
operators follow the operands. T0
represents a temporary variable on the stack.
Note that the program string is specific to the CPU and to the calling convention set up for the function represented by the current stack frame.
Trait Implementations
impl Clone for FrameData
[src]
fn clone(&self) -> FrameData
[src]
default fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for FrameData
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,