pub struct FrameData {
Show 13 fields pub ty: FrameType, pub code_start: PdbInternalRva, pub code_size: u32, pub locals_size: u32, pub params_size: u32, pub prolog_size: u16, pub saved_regs_size: u16, pub max_stack_size: Option<u32>, pub has_structured_eh: bool, pub has_cpp_eh: bool, pub is_function_start: bool, pub uses_base_pointer: bool, pub program: Option<StringRef>,
}
Expand description

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 PdbInternalRva::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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.