Skip to content

next ¤

Commands for setting temporary breakpoints on the next instruction of some type (call, branch, etc.)

Functions:

Attributes:

interrupts module-attribute ¤

interrupts = {CS_GRP_INT}

next_int ¤

next_int(address=None, honor_current_branch=False)

If there is a syscall in the current basic black, return the instruction of the one closest to $PC.

If honor_current_branch is True, then if the address is already a branch, return None.

If no interrupt exists or a jump is in the way, return None.

next_branch ¤

next_branch(address=None, including_current=False) -> PwndbgInstruction | None

Return the next branch instruction that the process will encounter with repeated usage of the "nexti" command.

If including_current == True, then if the instruction at the address is already a branch, return it.

next_matching_until_branch ¤

next_matching_until_branch(address=None, mnemonic=None, op_str=None)

Finds the next instruction that matches the arguments between the given address and the branch closest to it.

break_next_branch async ¤

break_next_branch(
    ec: ExecutionController, address=None, including_current=False
)

If including_current == True, do not step in case we are currently on a branch

break_next_interrupt async ¤

break_next_interrupt(
    ec: ExecutionController, address=None, honor_current_branch=False
) -> PwndbgInstruction | None

Break at the next interrupt if there is one in the current basic block and no jumps are between the current instruction and the interrupt.

If no such interrupt exists or a jump is in the way, return None.

break_next_call async ¤

break_next_call(ec: ExecutionController, symbol_regex=None)

break_next_ret async ¤

break_next_ret(ec: ExecutionController, address=None)

break_on_next_matching_instruction async ¤

break_on_next_matching_instruction(
    ec: ExecutionController, mnemonic=None, op_str=None
) -> bool

Breaks on next instuction that matches the arguments.

break_on_program_code async ¤

break_on_program_code(ec: ExecutionController) -> bool

Breaks on next instruction that belongs to process' objfile code

:return: True for success, False when process ended or when pc is not at the code or if a signal occurred

break_on_next async ¤

break_on_next(ec: ExecutionController, address=None) -> None