Remove `one_shot` from `Process.break_at` (#2562)

pull/2569/head
Matt. 1 year ago committed by GitHub
parent cd7efad5f9
commit f6c0fe7657
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -437,7 +437,6 @@ class Process:
self, self,
location: BreakpointLocation | WatchpointLocation, location: BreakpointLocation | WatchpointLocation,
stop_handler: Callable[[StopPoint], bool] | None = None, stop_handler: Callable[[StopPoint], bool] | None = None,
one_shot: bool = False,
internal: bool = False, internal: bool = False,
) -> StopPoint: ) -> StopPoint:
""" """
@ -454,11 +453,6 @@ class Process:
a signal to continue execution. The extent of the actions that may be a signal to continue execution. The extent of the actions that may be
taken during the stop handler is determined by the debugger. taken during the stop handler is determined by the debugger.
Breakpoints and watchpoints marked as `one_shot` are removed after they
are first triggered. For the purposes of `one_shot`, a breakpoint or
watchpoint that has a stop handler is only considered to be triggered
when its stop handler returns `True`.
Marking a breakpoint or watchpoint as `internal` hints to the Marking a breakpoint or watchpoint as `internal` hints to the
implementation that the created breakpoint or watchpoint should not be implementation that the created breakpoint or watchpoint should not be
directly nameable by the user, and that it should not print any messages directly nameable by the user, and that it should not print any messages

@ -641,7 +641,6 @@ class GDBProcess(pwndbg.dbg_mod.Process):
self, self,
location: pwndbg.dbg_mod.BreakpointLocation | pwndbg.dbg_mod.WatchpointLocation, location: pwndbg.dbg_mod.BreakpointLocation | pwndbg.dbg_mod.WatchpointLocation,
stop_handler: Callable[[pwndbg.dbg_mod.StopPoint], bool] | None = None, stop_handler: Callable[[pwndbg.dbg_mod.StopPoint], bool] | None = None,
one_shot: bool = False,
internal: bool = False, internal: bool = False,
) -> pwndbg.dbg_mod.StopPoint: ) -> pwndbg.dbg_mod.StopPoint:
# GDB does not support creating new breakpoints in the middle of a # GDB does not support creating new breakpoints in the middle of a
@ -658,7 +657,6 @@ class GDBProcess(pwndbg.dbg_mod.Process):
f"*{location.address:#x}", f"*{location.address:#x}",
gdb.BP_BREAKPOINT, gdb.BP_BREAKPOINT,
internal=internal, internal=internal,
temporary=one_shot,
) )
elif isinstance(location, pwndbg.dbg_mod.WatchpointLocation): elif isinstance(location, pwndbg.dbg_mod.WatchpointLocation):
if location.watch_read and location.watch_write: if location.watch_read and location.watch_write:
@ -673,7 +671,6 @@ class GDBProcess(pwndbg.dbg_mod.Process):
gdb.BP_WATCHPOINT, gdb.BP_WATCHPOINT,
wp_class=c, wp_class=c,
internal=internal, internal=internal,
temporary=one_shot,
) )
if internal: if internal:

@ -1301,7 +1301,6 @@ class LLDBProcess(pwndbg.dbg_mod.Process):
self, self,
location: pwndbg.dbg_mod.BreakpointLocation | pwndbg.dbg_mod.WatchpointLocation, location: pwndbg.dbg_mod.BreakpointLocation | pwndbg.dbg_mod.WatchpointLocation,
stop_handler: Callable[[pwndbg.dbg_mod.StopPoint], bool] | None = None, stop_handler: Callable[[pwndbg.dbg_mod.StopPoint], bool] | None = None,
one_shot: bool = False,
internal: bool = False, internal: bool = False,
) -> pwndbg.dbg_mod.StopPoint: ) -> pwndbg.dbg_mod.StopPoint:
if isinstance(location, pwndbg.dbg_mod.BreakpointLocation): if isinstance(location, pwndbg.dbg_mod.BreakpointLocation):

Loading…
Cancel
Save