struct Context [src]

Expressions can be evaluated in different contexts, each requiring its own set of inputs. Callers should specify all the fields relevant to their context. If a field is required by the expression and it isn't in the context, error.IncompleteExpressionContext is returned.

Fields

format: std.dwarf.Format = .@"32"The dwarf format of the section this expression is in
memory_accessor: ?*std.debug.MemoryAccessor = nullIf specified, any addresses will pass through before being accessed
compile_unit: ?*const std.debug.Dwarf.CompileUnit = nullThe compilation unit this expression relates to, if any
object_address: ?*const anyopaque = nullWhen evaluating a user-presented expression, this is the address of the object being evaluated
debug_addr: ?[]const u8 = null.debug_addr section
thread_context: ?*std.debug.ThreadContext = nullThread context
reg_context: ?abi.RegisterContext = null
cfa: ?usize = nullCall frame address, if in a CFI context
entry_value_context: bool = falseThis expression is a sub-expression from an OP.entry_value instruction

Source

pub const Context = struct { /// The dwarf format of the section this expression is in format: std.dwarf.Format = .@"32", /// If specified, any addresses will pass through before being accessed memory_accessor: ?*std.debug.MemoryAccessor = null, /// The compilation unit this expression relates to, if any compile_unit: ?*const std.debug.Dwarf.CompileUnit = null, /// When evaluating a user-presented expression, this is the address of the object being evaluated object_address: ?*const anyopaque = null, /// .debug_addr section debug_addr: ?[]const u8 = null, /// Thread context thread_context: ?*std.debug.ThreadContext = null, reg_context: ?abi.RegisterContext = null, /// Call frame address, if in a CFI context cfa: ?usize = null, /// This expression is a sub-expression from an OP.entry_value instruction entry_value_context: bool = false, }