Type Alias MultiThreadStopReason

Source
pub type MultiThreadStopReason<U> = BaseStopReason<Tid, U>;
Expand description

A stop reason for a multi threaded target.

Threads are identified using a Tid.

Aliased Type§

enum MultiThreadStopReason<U> {
    DoneStep,
    Exited(u8),
    Terminated(Signal),
    Signal(Signal),
    SignalWithThread {
        tid: NonZero<usize>,
        signal: Signal,
    },
    SwBreak(NonZero<usize>),
    HwBreak(NonZero<usize>),
    Watch {
        tid: NonZero<usize>,
        kind: WatchKind,
        addr: U,
    },
    ReplayLog {
        tid: Option<NonZero<usize>>,
        pos: ReplayLogPosition,
    },
    CatchSyscall {
        tid: Option<NonZero<usize>>,
        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.

Fields

§tid: NonZero<usize>

Tid of the associated thread

§signal: Signal

The signal

§

SwBreak(NonZero<usize>)

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(NonZero<usize>)

A thread hit a hardware breakpoint.

Requires: HwBreakpoint.

§

Watch

A thread hit a watchpoint.

Requires: HwWatchpoint.

Fields

§tid: NonZero<usize>

Tid of the associated thread

§kind: WatchKind

Kind of watchpoint that was hit

§addr: U

Address of watched memory

§

ReplayLog

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.

Fields

§tid: Option<NonZero<usize>>

(optional) Tid of the associated thread.

§pos: ReplayLogPosition

The point reached in a replay log (i.e: beginning vs. end).

§

CatchSyscall

The program has reached a syscall entry or return location.

Requires: CatchSyscalls.

Fields

§tid: Option<NonZero<usize>>

(optional) Tid of the associated thread.

§number: U

The syscall number.

§position: CatchSyscallPosition

The location the event occurred at.

Trait Implementations§