crash.arch package

class crash.arch.CrashArchitecture[source]

Bases: object

aliases = []
get_stack_pointer(thread_struct: gdb.Value) → int[source]
ident = 'base-class'
classmethod set_fetch_registers(callback: Type[crash.arch.FetchRegistersCallback]) → None[source]

Set a fetch_regisers callback for the Target to use.

Parameters:callback – A Callable that accepts a gdb.InferiorThread and gdb.Register and populates the requested registers for the specified thread. A register with the seemingly invalid register number of -1 is a request to populate all registers.
setup_thread_info(thread: gdb.InferiorThread) → None[source]
class crash.arch.FetchRegistersCallback[source]

Bases: object

The base class from which to implement the fetch_registers callback.

The architecture code must implement the fetch_active() and fetch_scheduled() methods.

fetch_active(thread: gdb.InferiorThread, register: int) → None[source]
fetch_scheduled(thread: gdb.InferiorThread, register: int) → None[source]
class crash.arch.KernelAddressIterator(ii: Iterator[T_co], address: int)[source]

Bases: object

class crash.arch.KernelFrameFilter(address: int)[source]

Bases: object

filter(frame_iter: Iterator[Any]) → Any[source]
crash.arch.get_architecture(archname: str) → Type[crash.arch.CrashArchitecture][source]
crash.arch.register_arch(arch: Type[crash.arch.CrashArchitecture]) → None[source]