Skip to content

signal ¤

Generating detailed information about signals received by the debugged process.

Classes:

Functions:

Attributes:

SIGNALS module-attribute ¤

SIGNALS = Literal[
    "SIGABRT",
    "SIGALRM",
    "SIGBUS",
    "SIGCHLD",
    "SIGCLD",
    "SIGCONT",
    "SIGEMT",
    "SIGFPE",
    "SIGHUP",
    "SIGILL",
    "SIGINFO",
    "SIGINT",
    "SIGIO",
    "SIGIOT",
    "SIGKILL",
    "SIGLOST",
    "SIGPIPE",
    "SIGPOLL",
    "SIGPROF",
    "SIGPWR",
    "SIGQUIT",
    "SIGSEGV",
    "SIGSTKFLT",
    "SIGSTOP",
    "SIGTSTP",
    "SIGSYS",
    "SIGTERM",
    "SIGTRAP",
    "SIGTTIN",
    "SIGTTOU",
    "SIGUNUSED",
    "SIGURG",
    "SIGUSR1",
    "SIGUSR2",
    "SIGVTALRM",
    "SIGXCPU",
    "SIGXFSZ",
    "SIGWINCH",
]

COMMON_NUM_TO_SIGNAL_MAPPING module-attribute ¤

COMMON_NUM_TO_SIGNAL_MAPPING: dict[int, SIGNALS] = {
    1: "SIGHUP",
    2: "SIGINT",
    3: "SIGQUIT",
    4: "SIGILL",
    5: "SIGTRAP",
    6: "SIGABRT",
    8: "SIGFPE",
    9: "SIGKILL",
    11: "SIGSEGV",
    13: "SIGPIPE",
    14: "SIGALRM",
    15: "SIGTERM",
}

X86_64_NUM_TO_SIGNAL_MAPPING module-attribute ¤

X86_64_NUM_TO_SIGNAL_MAPPING: dict[int, SIGNALS] = {
    None: COMMON_NUM_TO_SIGNAL_MAPPING,
    7: "SIGBUS",
    10: "SIGUSR1",
    12: "SIGUSR2",
    16: "SIGSTKFLT",
    17: "SIGCHLD",
    18: "SIGCONT",
    19: "SIGSTOP",
    20: "SIGTSTP",
    21: "SIGTTIN",
    22: "SIGTTOU",
    23: "SIGURG",
    24: "SIGXCPU",
    25: "SIGXFSZ",
    26: "SIGVTALRM",
    27: "SIGPROF",
    28: "SIGWINCH",
    29: "SIGIO",
    30: "SIGPWR",
    31: "SIGSYS",
}

PER_ARCH_SIGNAL_MAPPINGS module-attribute ¤

PER_ARCH_SIGNAL_MAPPINGS: dict[
    PWNDBG_SUPPORTED_ARCHITECTURES_TYPE, dict[int, SIGNALS]
] = {"x86-64": X86_64_NUM_TO_SIGNAL_MAPPING}

SHORT_SEGV_DESCRIPTIONS_X86_64 module-attribute ¤

SHORT_SEGV_DESCRIPTIONS_X86_64: dict[SegvCodeX86_64, str] = {
    SEGV_PKUERR: "SEGV_PKUERR"
}

LONG_SEGV_DESCRIPTIONS_X86_64 module-attribute ¤

LONG_SEGV_DESCRIPTIONS_X86_64: dict[
    SegvCodeX86_64, Callable[[], str | None]
] = {SEGV_PKUERR: get_segv_pkuerr_description}

PER_ARCH_SEGV_CODES module-attribute ¤

PER_ARCH_SEGV_CODES: dict[PWNDBG_SUPPORTED_ARCHITECTURES_TYPE, type[Enum]] = {
    "x86-64": SegvCodeX86_64
}

SHORT_SEGV_DESCRIPTIONS module-attribute ¤

SHORT_SEGV_DESCRIPTIONS: dict[
    PWNDBG_SUPPORTED_ARCHITECTURES_TYPE, dict[Any, str]
] = {"x86-64": SHORT_SEGV_DESCRIPTIONS_X86_64}

LONG_SEGV_DESCRIPTIONS module-attribute ¤

LONG_SEGV_DESCRIPTIONS: dict[
    PWNDBG_SUPPORTED_ARCHITECTURES_TYPE, dict[Any, Callable[[], str | None]]
] = {"x86-64": LONG_SEGV_DESCRIPTIONS_X86_64}

SegvCodeX86_64 ¤

Bases: Enum

Attributes:

SEGV_PKUERR class-attribute instance-attribute ¤

SEGV_PKUERR = 4

get_segv_pkuerr_description ¤

get_segv_pkuerr_description() -> str | None

Retrieve the long description for SEGV_PKUERR, if applicable.

get_segv_information ¤

get_segv_information() -> tuple[str, str | None]

Retrieve additional information about a SIGSEGV signal, if available.

get_last_signal ¤

get_last_signal() -> SIGNALS | None

Get the last signal received by the debugged process.