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
is_64: bool = false,
This expression is from a DWARF64 section
isValidMemory: ?*const fn (usize) bool = null,
If specified, any addresses will pass through this function before being acccessed
compile_unit: ?*const dwarf.CompileUnit = null,
The compilation unit this expression relates to, if any
object_address: ?*const anyopaque = null,
When 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 = null,
Thread context
reg_context: ?abi.RegisterContext = null,
cfa: ?usize = null,
Call frame address, if in a CFI context
entry_value_context: bool = false,
This expression is a sub-expression from an OP.entry_value instruction