LLDB Python API#

lldb Package#

The lldb module contains the public APIs for Python binding.

Some of the important classes are described here:

  • SBTarget: Represents the target program running under the debugger.

  • SBProcess: Represents the process associated with the target program.

  • SBThread: Represents a thread of execution. SBProcess contains SBThreads.

  • SBFrame: Represents one of the stack frames associated with a thread. SBThread contains SBFrame(s).

  • SBSymbolContext: A container that stores various debugger related info.

  • SBValue: Represents the value of a variable, a register, or an expression.

  • SBModule: Represents an executable image and its associated object and symbol files. SBTarget contains SBModule.

  • SBBreakpoint: Represents a logical breakpoint and its associated settings. SBTarget contains SBBreakpoints.

  • SBSymbol: Represents the symbol possibly associated with a stack frame.

  • SBCompileUnit: Represents a compilation unit, or compiled source file.

  • SBFunction: Represents a generic function, which can be inlined or not.

  • SBBlock: Represents a lexical block. SBFunction contains SBBlocks.

  • SBLineEntry: Specifies an association with a contiguous range of instructions and a source file location. SBCompileUnit contains SBLineEntry.

The different enums in the lldb module are described in Python API enumerators and constants.

Classes#

SBAddress(*args)

A section + offset based address class.

SBAttachInfo(*args)

Describes how to attach when calling SBTarget.Attach.

SBBlock(*args)

Represents a lexical block.

SBBreakpoint(*args)

Represents a logical breakpoint and its associated settings.

SBBreakpointList(target)

Represents a list of SBBreakpoint.

SBBreakpointLocation(*args)

Represents one unique instance (by address) of a logical breakpoint.

SBBreakpointName(*args)

Represents a breakpoint name registered in a given SBTarget.

SBBroadcaster(*args)

Represents an entity which can broadcast events.

SBCommandInterpreter(rhs)

SBCommandInterpreter handles/interprets commands for lldb.

SBCommandInterpreterRunOptions(*args)

SBCommandInterpreterRunOptions controls how the RunCommandInterpreter runs the code it is fed.

SBCommandReturnObject(*args)

Represents a container which holds the result from command execution.

SBCommunication(*args)

Allows sending/receiving data.

SBCompileUnit(*args)

Represents a compilation unit, or compiled source file.

SBData(*args)

Represents a data buffer.

SBDebugger(*args)

SBDebugger is the primordial object that creates SBTargets and provides access to them.

SBDeclaration(*args)

Specifies an association with a line and column for a variable.

SBEnvironment(*args)

Represents the environment of a certain process.

SBError(*args)

Represents a container for holding any error code.

SBEvent(*args)

API clients can register to receive events.

SBExecutionContext(*args)

Describes the program context in which a command should be executed.

SBExpressionOptions(*args)

A container for options to use when evaluating expressions.

SBFile(*args)

Represents a file.

SBFileSpec(*args)

Represents a file specification that divides the path into a directory and basename.

SBFileSpecList(*args)

Represents a list of SBFileSpec.

SBFrame(*args)

Represents one of the stack frames associated with a thread.

SBFunction(*args)

Represents a generic function, which can be inlined or not.

SBHostOS()

Provides information about the host system.

SBInstruction(*args)

Represents a (machine language) instruction.

SBInstructionList(*args)

Represents a list of machine instructions.

SBLanguageRuntime()

Utility functions for LanguageType

SBLaunchInfo(argv)

Describes how a target or program should be launched.

SBLineEntry(*args)

Specifies an association with a contiguous range of instructions and a source file location.

SBListener(*args)

API clients can register its own listener to debugger events.

SBMemoryRegionInfo(*args)

API clients can get information about memory regions in processes.

SBMemoryRegionInfoList(*args)

Represents a list of SBMemoryRegionInfo.

SBModule(*args)

Represents an executable image and its associated object and symbol files.

SBModuleSpec(*args)

Proxy of C++ lldb::SBModuleSpec class.

SBModuleSpecList(*args)

Represents a list of SBModuleSpec.

SBPlatform(*args)

A class that represents a platform that can represent the current host or a remote host debug platform.

SBPlatformConnectOptions(*args)

Describes how SBPlatform.ConnectRemote connects to a remote platform.

SBPlatformShellCommand(*args)

Represents a shell command that can be run by SBPlatform.Run.

SBProcess(*args)

Represents the process associated with the target program.

SBProcessInfo(*args)

Describes an existing process and any discoverable information that pertains to that process.

SBQueue(*args)

Represents a libdispatch queue in the process.

SBQueueItem()

This class represents an item in an SBQueue.

SBReproducer()

Controls LLDB's reproducer functionality.

SBScriptObject(*args)

Proxy of C++ lldb::SBScriptObject class.

SBSection(*args)

Represents an executable image section.

SBSourceManager(*args)

Represents a central authority for displaying source code.

SBStream()

Represents a destination for streaming data output to.

SBStringList(*args)

Represents a list of strings.

SBStructuredData(*args)

A class representing a StructuredData event.

SBSymbol(*args)

Represents the symbol possibly associated with a stack frame.

SBSymbolContext(*args)

A context object that provides access to core debugger entities.

SBSymbolContextList(*args)

Represents a list of symbol context object.

SBSyntheticValueProvider(valobj)

SBTarget(*args)

Represents the target program running under the debugger.

SBThread(*args)

Represents a thread of execution.

SBThreadCollection(*args)

Represents a collection of SBThread objects.

SBThreadPlan(*args)

Represents a plan for the execution control of a given thread.

SBTrace()

Represents a processor trace.

SBTraceCursor()

Represents a trace cursor.

SBType(*args)

Represents a data type in lldb.

SBTypeCategory(*args)

Represents a category that can contain formatters for types.

SBTypeEnumMember(*args)

Represents a member of an enum in lldb.

SBTypeEnumMemberList(*args)

Represents a list of SBTypeEnumMembers.

SBTypeFilter(*args)

Represents a filter that can be associated to one or more types.

SBTypeFormat(*args)

Represents a format that can be associated to one or more types.

SBTypeList(*args)

Represents a list of SBType s.

SBTypeMember(*args)

Represents a member of a type.

SBTypeMemberFunction(*args)

Represents a member function of a type.

SBTypeNameSpecifier(*args)

Represents a general way to provide a type name to LLDB APIs.

SBTypeSummary(*args)

Represents a summary that can be associated to one or more types.

SBTypeSummaryOptions(*args)

Proxy of C++ lldb::SBTypeSummaryOptions class.

SBTypeSynthetic(*args)

Represents a summary that can be associated to one or more types.

SBUnixSignals(*args)

Allows you to manipulate LLDB's signal disposition

SBValue(*args)

Represents the value of a variable, a register, or an expression.

SBValueList(*args)

Represents a collection of SBValues.

SBVariablesOptions(*args)

Describes which variables should be returned from SBFrame.GetVariables.

SBWatchpoint(*args)

Represents an instance of watchpoint for a specific target program.

declaration(file, line, col)

A class that represents a source declaration location with file, line and column.

value(sbvalue)

Wraps SBValue objects so the resulting object can be used as a variable would be in code.

value_iter(value)

Allows iterating over the children of an SBValue.