An operationrun represents a single pcode operation with its concrete output destination and value The index of the pcode operation within the execution The clock tick on which was executed the instruction of which this pcode operation is a part The pcode opcode (as defined by Ghidra's slaspec) of this pcode operation The number of bytes outputted by this operation The memory bank in which this operation stored its output value The address within the given memory bank at which this operation stored its output value The value of the output of this operation. Will be `null` if the value cannot be determined from the trace a hex-encoded version of `val`. Individual bytes will be replaced with `??` if their values cannot be determined from the trace For LOAD operations, the memory address which was read; for CBRANCH operations, the potential (non-fallthrough) branch target. The bank of the `assocd_addr` (for LOAD operations, the data memory address space; for CBRANCH, the instruction memory address space) For LOAD operations, the number of bytes read from `assocd_addr`; For CBRANCH operations, the size of the PC register. index tick bank addr assocd_bank assocd_addr val assocd_bank assocd_addr An `instructionrun` represents a single run of an architectural instruction at a given point in time within the trace The clock tick on which the instruction occurred. The value of the program counter register just before the instruction was executed The disassembly of the instruction pc tick A `functionrun` represents a single run of a function The program counter of the instruction immediately preceeding this functionrun within the trace The program counter of the first instruction executed in the trace within this functionrun The clock tick of the first instructionrun occurring within this functionrun The index of the first operationrun occurring wihtin this functionrun The index of the final operationrun occurring within this functionrun The value returned by this functionrun Number of not-yet-returned functioncalls within the trace when this function was called The value of the stack pointer register at the start of the functionrun startindex starttick pc A `syscallrun` represents a single run of a syscall The program counter of the instruction immediately preceeding this syscallrun within the trace The tick at which this syscall occurred The number of the syscall The return value of the syscall A `buffer` represents a run of 9 or more bytes that were all read or all written in the course of a single `functionrun` The index of the first access into the buffer The hex-encoded bytes of the buffer `1` if the buffer was written, `0` if the buffer was only read The memory address of the first byte of the buffer The number of bytes in the buffer addr startindex The functions statically deduced by Ghidra The name of the function The namespace of the function (if defined) The full path of the module from which the function comes The address of the start of the function The size of the function addr addr namespace name The basic blocks The full path of the module from which the block comes The starting address of the basic block The size of the basic block in number of bytes addr The modules loaded into memory during the trace collection The starting address of the module The size of the module in number of bytes The name of the module The path of the module relative to the sysroot base The value of the constant used A hex-encoded string representing the constant used The size in bytes of the constant value used The mapping of integer pcode opcodes to string names The string name of the opcode The pcode integer value of the opcode The mapping of addresses within the register address space to architectural register names The string name of the register The offset in the register address space of the register `true` if this is a general-purpose register, `false` if not The set of objects that come into and out of existence through the course of the trace The string name of the object The base address of this object in memory The size of this object in memory The tick on which this object comes into existence The tick on which this object ceases its existence The Ghidra UniversalID of the object's type base birth death Annotations for instructions that represent the creation, type conversion, or death of an object The string name of the module in which the witness instruction is found The offset within the object to which the witness instruction refers The offset within the module in which the witness instruction is found The type of witness--"BIRTH" (if witnessing the birth of an object), "DEATH" (if witnessing the death of an object), or "CHANGE" if witnessing the type conversion of an object The Ghidra UniversalID of the type of object (if type == "BIRTH" or "CHANGE") The feature of the instruction that bears witness to the event. Can be "REG_WRITE" (if it is the value written to a register by this instruction that is the address of the object being witnessed; which register specifically is described by regNum), "LOAD_VAL" (if it is the (assumed unique) value loaded from memory by this instruction that represents the witnessed object's address), "LOAD_ADDR" (if it is the (assumed unique) address being loaded from by this instruction that represents the witnessed object's address), "STORE_VAL" (if it is the (assumed unique) value stored into memory by this instruction that represents the witnessed object's address), "STORE_ADDR" (if it is the (assumed unique) address being stored to by this instruction that represents the witnessed object's address), If feature == "REG_WRITE", the offset of the register (in Ghidra's register space) being written by the instruction whose written value represents the witnessed object's address The calls to malloc along with their return values made during the trace The callsite of the malloc The address that is accessed The size of the memory access The tick at which the access occurred The pc at which the access occurred The value that was read or written during the access `true` if the access is a write, `false` otherwise The disassembly of the instruction that performed the access index addr tick pc An `inputdep` edge from `x` to `y` with `pos` equal to `n` means that the output of operation `y` is the `n`th input to operation `x`. 1 if the analysis is undertain of this dependency; 0 otherwise Which argument to the source operation the output of the destination operation is An `addrdep` edge from `x` to `y` means that the output of operation `y` is used as the address for the memory access by the LOAD or STORE operation `x`. 1 if theour analysis is undertain of this dependency; 0 otherwise A `cfdep` edge from `x` to `y` means that `y` is the most recent CBRANCH operation prior to the operation `x` An edge from `x` to `y` means that the `instructionrun` `x` occurred during `functionrun` `y` An edge from `x` to `y` means that the `functionrun` `x` contained the call which caused the `functionrun` `y` to run An edge from `x` to `y` means that the `buffer` `x` was written or read during the `functionrun` `y` An edge from `x` to `y` means that the return value of the `functionrun` `x` is generated by the output of the `operationrun` `y` An edge from `x` to `y` with bank `b` and offset `f` means that when the `functionrun` `x` was called, the value in memory bank `b` at offset `f` was written by `operationrun` `y` The bank of the value whose content is generated by the dst operation If `bank` is the register bank, this is the offset within the register address space; if `bank` is the memory bank, then this is the offset from the current stack pointer as of the calling of the function An edge from `x` to `y` with bank `b` and offset `f` means that when the `syscallrun` `x` was called, the value in memory bank `b` at offset `f` was written by `operationrun` `y` The bank of the value whose content is generated by the dst operation. Will only be the register address space The offset within the register address space An edge from `x` to `y` means that during the execution of the `functionrun` `x`, the `syscallrun` `y` was triggered An edge from `x` to `y` with `pos` n means that the operation `x` uses the constant `y` as its `n`th input Which argument to the source operation the destination constant is An edge from `x` to `y` means that the load/store operation `x` uses the constant `y` as its load/store address An edge from `x` to `y` exists if `x` may (statically) call `y` An edge from `x` to `y` exists if `x` may (statically) be a successor of `y` An edge from `x` to `y` exists if `x` is a basic block within the body of the function `y` An edge from `x` to `y` exists if `x` has `y` as a control depednence in the static control flow graph of the function to which they both belong