Skip to content

proc ¤

Provides values which would be available from /proc which are not fulfilled by other modules and some process/gdb flow related information.

Functions:

Attributes:

  • P
  • T

P module-attribute ¤

P = ParamSpec('P')

T module-attribute ¤

T = TypeVar('T')

pid ¤

pid() -> int

tid ¤

tid() -> int

thread_id ¤

thread_id() -> int

alive ¤

alive() -> bool

Informs whether the process has a thread. However, note that it will still return True for a segfaulted thread. To detect that, consider using the stopped_with_signal method.

stopped_with_signal ¤

stopped_with_signal() -> bool

Returns whether the program has stopped with a signal

Can be used to detect segfaults (but will also detect other signals)

exe ¤

exe() -> str | None

Returns the executed file path.

On remote targets, this path may not exist locally.

If you need the locally referenced file use

gdb.current_process().filename

binary_base_addr ¤

binary_base_addr() -> int

binary_vmmap ¤

binary_vmmap() -> tuple[Page, ...]

dump_elf_data_section ¤

dump_elf_data_section() -> tuple[int, int, bytes] | None

Dump .data section of current process's ELF file

dump_relocations_by_section_name ¤

dump_relocations_by_section_name(
    section_name: str,
) -> tuple[Relocation, ...] | None

Dump relocations of a section by section name of current process's ELF file

get_section_address_by_name ¤

get_section_address_by_name(section_name: str) -> int

Find section address of current process by section name

OnlyWhenRunning ¤

OnlyWhenRunning(func: Callable[P, T]) -> Callable[P, T | None]

OnlyWhenQemuKernel ¤

OnlyWhenQemuKernel(func: Callable[P, T]) -> Callable[P, T | None]

OnlyWithArch ¤

OnlyWithArch(
    arch_names: list[str],
) -> Callable[[Callable[P, T]], Callable[P, T | None]]

Decorates function to work only with the specified archictectures.