SBInstruction

class lldb.SBInstruction(*args)

Represents a (machine language) instruction.

Attributes Summary

addr

A read only property that returns an lldb object that represents the address (lldb.SBAddress) for this instruction.

comment

A read only property that returns the comment for this instruction as a string.

is_branch

A read only property that returns a boolean value that indicates if this instruction is a branch instruction.

mnemonic

A read only property that returns the mnemonic for this instruction as a string.

operands

A read only property that returns the operands for this instruction as a string.

size

A read only property that returns the size in bytes for this instruction as an integer.

Methods Summary

CanSetBreakpoint(SBInstruction self)

DoesBranch(SBInstruction self)

DumpEmulation(SBInstruction self, ...)

EmulateWithFrame(SBInstruction self, ...)

GetAddress(SBInstruction self)

GetByteSize(SBInstruction self)

GetComment(SBInstruction self, SBTarget target)

GetControlFlowKind(SBInstruction self, ...)

GetData(SBInstruction self, SBTarget target)

GetDescription(SBInstruction self, ...)

GetMnemonic(SBInstruction self, SBTarget target)

GetOperands(SBInstruction self, SBTarget target)

GetVariableAnnotations()

Get variable annotations for this instruction as structured data. Returns an array of dictionaries, each containing: - "variable_name": string name of the variable - "location_description": string description of where variable is stored ("RDI", "R15", "undef", etc.) - "start_address": unsigned integer address where this annotation becomes valid - "end_address": unsigned integer address where this annotation becomes invalid - "register_kind": unsigned integer indicating the register numbering scheme - "decl_file": string path to the file where variable is declared - "decl_line": unsigned integer line number where variable is declared - "type_name": string type name of the variable.

HasDelaySlot(SBInstruction self)

IsValid(SBInstruction self)

Print()

TestEmulation(SBInstruction self, ...)

variable_annotations()

Get variable annotations as a Python list of dictionaries.

Attributes Documentation

addr

A read only property that returns an lldb object that represents the address (lldb.SBAddress) for this instruction.

comment

A read only property that returns the comment for this instruction as a string.

is_branch

A read only property that returns a boolean value that indicates if this instruction is a branch instruction.

mnemonic

A read only property that returns the mnemonic for this instruction as a string.

operands

A read only property that returns the operands for this instruction as a string.

size

A read only property that returns the size in bytes for this instruction as an integer.

Methods Documentation

CanSetBreakpoint(SBInstruction self) bool
DoesBranch(SBInstruction self) bool
DumpEmulation(SBInstruction self, char const * triple) bool
EmulateWithFrame(SBInstruction self, SBFrame frame, uint32_t evaluate_options) bool
GetAddress(SBInstruction self) SBAddress
GetByteSize(SBInstruction self) size_t
GetComment(SBInstruction self, SBTarget target) char const *
GetControlFlowKind(SBInstruction self, SBTarget target) lldb::InstructionControlFlowKind
GetData(SBInstruction self, SBTarget target) SBData
GetDescription(SBInstruction self, SBStream description) bool
GetMnemonic(SBInstruction self, SBTarget target) char const *
GetOperands(SBInstruction self, SBTarget target) char const *
GetVariableAnnotations()

Get variable annotations for this instruction as structured data. Returns an array of dictionaries, each containing: - “variable_name”: string name of the variable - “location_description”: string description of where variable is stored

(“RDI”, “R15”, “undef”, etc.)

  • “start_address”: unsigned integer address where this annotation becomes valid

  • “end_address”: unsigned integer address where this annotation becomes invalid

  • “register_kind”: unsigned integer indicating the register numbering

scheme - “decl_file”: string path to the file where variable is declared - “decl_line”: unsigned integer line number where variable is declared - “type_name”: string type name of the variable

HasDelaySlot(SBInstruction self) bool
IsValid(SBInstruction self) bool
Print(SBInstruction self, SBFile out)
Print(SBInstruction self, lldb: :FileSP BORROWED)
TestEmulation(SBInstruction self, SBStream output_stream, char const * test_file) bool
variable_annotations()

Get variable annotations as a Python list of dictionaries.

Returns:

List of dictionaries, each containing variable annotation data