Type Alias gdbstub::stub::SingleThreadStopReason
source · pub type SingleThreadStopReason<U> = BaseStopReason<(), U>;
Expand description
A stop reason for a single threaded target.
Threads are identified using the unit type ()
(as there is only a single
possible thread-id).
Aliased Type§
enum SingleThreadStopReason<U> {
DoneStep,
Exited(u8),
Terminated(Signal),
Signal(Signal),
SignalWithThread {
tid: (),
signal: Signal,
},
SwBreak(()),
HwBreak(()),
Watch {
tid: (),
kind: WatchKind,
addr: U,
},
ReplayLog {
tid: Option<()>,
pos: ReplayLogPosition,
},
CatchSyscall {
tid: Option<()>,
number: U,
position: CatchSyscallPosition,
},
}
Variants§
DoneStep
Completed the single-step request.
Exited(u8)
The process exited with the specified exit status.
Terminated(Signal)
The process terminated with the specified signal number.
Signal(Signal)
The program received a signal.
SignalWithThread
A specific thread received a signal.
SwBreak(())
A thread hit a software breakpoint (e.g. due to a trap instruction).
Requires: SwBreakpoint
.
NOTE: This does not necessarily have to be a breakpoint configured by the client/user of the current GDB session.
HwBreak(())
A thread hit a hardware breakpoint.
Requires: HwBreakpoint
.
Watch
Fields
addr: U
Address of watched memory
A thread hit a watchpoint.
Requires: HwWatchpoint
.
ReplayLog
Fields
pos: ReplayLogPosition
The point reached in a replay log (i.e: beginning vs. end).
The program has reached the end of the logged replay events.
Requires: ReverseCont
or ReverseStep
.
This is used for GDB’s reverse execution. When playing back a recording, you may hit the end of the buffer of recorded events, and as such no further execution can be done. This stop reason tells GDB that this has occurred.
CatchSyscall
Fields
number: U
The syscall number.
position: CatchSyscallPosition
The location the event occurred at.
The program has reached a syscall entry or return location.
Requires: CatchSyscalls
.