Next: Threads, Previous: Kill Process, Up: Running
Some gdb targets are able to run multiple processes created from a single executable. This can happen, for instance, with an embedded system reporting back several processes via the remote protocol.
gdb represents the state of each program execution with an object called an inferior. An inferior typically corresponds to a process, but is more general and applies also to targets that do not have processes. Inferiors may be created before a process runs, and may (in future) be retained after a process exits. Each run of an executable creates a new inferior, as does each attachment to an existing process. Inferiors have unique identifiers that are different from process ids, and may optionally be named as well. Usually each inferior will also have its own distinct address space, although some embedded targets may have several inferiors running in different parts of a single space.
Each inferior may in turn have multiple threads running in it.
To find out what inferiors exist at any moment, use info inferiors
:
info inferiors
set print inferior-events
set print inferior-events on
set print inferior-events off
set print inferior-events
command allows you to enable or
disable printing of messages when gdb notices that new
inferiors have started or that inferiors have exited or have been
detached. By default, these messages will not be printed.
show print inferior-events