26.4.3 gdb/mi Async Records
Async records are used to notify the gdb/mi client of
additional changes that have occurred. Those changes can either be a
consequence of gdb/mi commands (e.g., a breakpoint modified) or a result of
target activity (e.g., target stopped).
The following is the list of possible async records:
*running,thread-id="
thread"
- The target is now running. The thread field tells which
specific thread is now running, and can be ‘all’ if all threads
are running. The frontend should assume that no interaction with a
running thread is possible after this notification is produced.
The frontend should not assume that this notification is output
only once for any command. gdb may emit this notification
several times, either for different threads, because it cannot resume
all threads together, or even for a single thread, if the thread must
be stepped though some code before letting it run freely.
*stopped,reason="
reason"
- The target has stopped. The reason field can have one of the
following values:
breakpoint-hit
- A breakpoint was reached.
watchpoint-trigger
- A watchpoint was triggered.
read-watchpoint-trigger
- A read watchpoint was triggered.
access-watchpoint-trigger
- An access watchpoint was triggered.
function-finished
- An -exec-finish or similar CLI command was accomplished.
location-reached
- An -exec-until or similar CLI command was accomplished.
watchpoint-scope
- A watchpoint has gone out of scope.
end-stepping-range
- An -exec-next, -exec-next-instruction, -exec-step, -exec-step-instruction or
similar CLI command was accomplished.
exited-signalled
- The inferior exited because of a signal.
exited
- The inferior exited.
exited-normally
- The inferior exited normally.
signal-received
- A signal was received by the inferior.
=thread-created,id="
id"
=thread-exited,id="
id"
- A thread either was created, or has exited. The id field
contains the gdb identifier of the thread.