init
EXECUTION_CONTROLLER = LLDBExecutionController()
module-attribute
¶
LLDB_VERSION = None
module-attribute
¶
T = TypeVar('T')
module-attribute
¶
LLDB
¶
Bases: Debugger
controllers
instance-attribute
¶
event_handlers
instance-attribute
¶
exec_states
instance-attribute
¶
prompt_hook
instance-attribute
¶
suspended_events
instance-attribute
¶
add_command(command_name, handler, doc)
¶
addrsz(address)
¶
commands()
¶
event_handler(ty)
¶
get_cmd_window_size()
¶
has_event_type(ty)
¶
history(last=10)
¶
is_gdblib_available()
¶
lex_args(command_line)
¶
resume_events(ty)
¶
selected_frame()
¶
selected_inferior()
¶
selected_thread()
¶
set_python_diagnostics(enabled)
¶
set_sysroot(sysroot)
¶
setup(*args, **kwargs)
¶
string_limit()
¶
supports_breakpoint_creation_during_stop_handler()
¶
suspend_events(ty)
¶
x86_disassembly_flavor()
¶
LLDBArch
¶
LLDBCommand
¶
Bases: CommandHandle
LLDBExecutionController
¶
Bases: ExecutionController
LLDBFrame
¶
Bases: Frame
inner = inner
instance-attribute
¶
proc = proc
instance-attribute
¶
__eq__(rhs)
¶
__init__(inner, proc)
¶
child()
¶
evaluate_expression(expression, lock_scheduler=False)
¶
lookup_symbol(name, *, type=pwndbg.dbg_mod.SymbolLookupType.ANY)
¶
parent()
¶
pc()
¶
reg_write(name, val)
¶
regs()
¶
sal()
¶
sp()
¶
LLDBMemoryMap
¶
LLDBProcess
¶
Bases: Process
dbg = dbg
instance-attribute
¶
process = process
instance-attribute
¶
target = target
instance-attribute
¶
__init__(dbg, process, target, is_gdb_remote)
¶
alive()
¶
arch()
¶
break_at(location, stop_handler=None, internal=False)
¶
create_value(value, type=None)
¶
disasm(address)
¶
dispatch_execution_controller(procedure)
¶
download_remote_file(remote_path, local_path)
¶
evaluate_expression(expression)
¶
find_in_memory(pattern, start, size, align, max_matches=-1, step=-1)
¶
find_largest_range_len(min_search, max_search, test)
¶
Finds the largest memory range given a minimum and a maximum value for the size of the rage. This is a binary search, so it should do on the order of log2(max_search - min_search) attempts before it arrives at an answer.
get_known_pages()
¶
is_dynamically_linked()
¶
is_linux()
¶
is_remote()
¶
lookup_symbol(name, *, prefer_static=False, type=pwndbg.dbg_mod.SymbolLookupType.ANY, objfile_endswith=None)
¶
main_module_entry()
¶
main_module_name()
¶
module_section_locations()
¶
pid()
¶
read_memory(address, size, partial=False)
¶
send_monitor(cmd)
¶
send_remote(packet)
¶
stopped_with_signal()
¶
symbol_name_at_address(address)
¶
threads()
¶
types_with_name(name)
¶
vmmap()
¶
write_memory(address, data, partial=False)
¶
LLDBRegisters
¶
LLDBStopPoint
¶
LLDBThread
¶
LLDBType
¶
OneShotAwaitable
¶
YieldContinue
¶
Continues execution of the process until the breakpoint or watchpoint given in the constructor is hit or the operation is cancelled.
This class is part of the execution controller system, so it is intented to be yielded by the async function with access to an execution controller, and caught and hanlded by the event loop in the LLDB Pwndbg CLI.
YieldSingleStep
¶
Moves execution of the process being debugged forward by one instruction.
This class is part of the execution controller system, so it is intented to be yielded by the async function with access to an execution controller, and caught and hanlded by the event loop in the LLDB Pwndbg CLI.
map_type_code(type)
¶
Determines the type code of a given LLDB SBType.
rename_register(name, proc)
¶
Some register names differ between Pwndbg/GDB and LLDB. This function takes in a register name in the Pwndbg/GDB convention and returns the equivalent LLDB name for the register.