init
BPWP_DEFERRED_DELETE: Set[GDBStopPoint] = set()
module-attribute
¶
BPWP_DEFERRED_DISABLE: Set[GDBStopPoint] = set()
module-attribute
¶
BPWP_DEFERRED_ENABLE: Set[GDBStopPoint] = set()
module-attribute
¶
EXECUTION_CONTROLLER = GDBExecutionController()
module-attribute
¶
T = TypeVar('T')
module-attribute
¶
BreakpointAdapter
¶
GDB
¶
Bases: Debugger
add_command(name, handler, doc)
¶
addrsz(address)
¶
commands()
¶
event_handler(ty)
¶
get_cmd_window_size()
¶
Get the size of the command window.
GDB keeps these parameters up to date with the actual window size of the command output. This is the full terminal size in CLI mode or the size of the cmd window in TUI mode.
When the window size is set to be unlimited (0), the parameter is None.
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()
¶
string_limit()
¶
supports_breakpoint_creation_during_stop_handler()
¶
suspend_events(ty)
¶
x86_disassembly_flavor()
¶
GDBArch
¶
GDBCommand
¶
GDBCommandHandle
¶
Bases: CommandHandle
GDBExecutionController
¶
Bases: ExecutionController
GDBFrame
¶
GDBMemoryMap
¶
GDBProcess
¶
Bases: Process
in_bpwp_stop_handler: bool = False
instance-attribute
¶
inner = inner
instance-attribute
¶
__init__(inner)
¶
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)
¶
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)
¶
GDBRegisters
¶
GDBStopPoint
¶
GDBThread
¶
GDBType
¶
Bases: Type
CODE_MAPPING = {gdb.TYPE_CODE_BOOL: pwndbg.dbg_mod.TypeCode.BOOL, gdb.TYPE_CODE_INT: pwndbg.dbg_mod.TypeCode.INT, gdb.TYPE_CODE_UNION: pwndbg.dbg_mod.TypeCode.UNION, gdb.TYPE_CODE_STRUCT: pwndbg.dbg_mod.TypeCode.STRUCT, gdb.TYPE_CODE_ENUM: pwndbg.dbg_mod.TypeCode.ENUM, gdb.TYPE_CODE_TYPEDEF: pwndbg.dbg_mod.TypeCode.TYPEDEF, gdb.TYPE_CODE_PTR: pwndbg.dbg_mod.TypeCode.POINTER, gdb.TYPE_CODE_ARRAY: pwndbg.dbg_mod.TypeCode.ARRAY, gdb.TYPE_CODE_FUNC: pwndbg.dbg_mod.TypeCode.FUNC, gdb.TYPE_CODE_METHOD: pwndbg.dbg_mod.TypeCode.FUNC}
class-attribute
instance-attribute
¶
alignof: int
property
¶
code: pwndbg.dbg_mod.TypeCode
property
¶
inner = inner
instance-attribute
¶
name_identifier: str | None
property
¶
name_to_human_readable: str
property
¶
sizeof: int
property
¶
__eq__(rhs)
¶
__init__(inner)
¶
array(count)
¶
fields()
¶
func_arguments()
¶
has_field(name)
¶
keys()
¶
offsetof(field_name)
¶
pointer()
¶
strip_typedefs()
¶
target()
¶
GDBValue
¶
Bases: Value
address: pwndbg.dbg_mod.Value | None
property
¶
inner = inner
instance-attribute
¶
is_optimized_out: bool
property
¶
type: pwndbg.dbg_mod.Type
property
¶
__add__(rhs)
¶
__getitem__(key)
¶
__init__(inner)
¶
__int__()
¶
__sub__(rhs)
¶
cast(type)
¶
dereference()
¶
fetch_lazy()
¶
string()
¶
value_to_human_readable()
¶
parse_and_eval(expression, global_context)
¶
Same as gdb.parse_and_eval
, but only uses global_context
if it is supported by the current version of GDB.
global_context
was introduced in GDB 14.