'What does 'inferior' mean in the term 'inferior debugger'?
I didn't really understand the explanation for inferior in the GDB manual, and google doesn't yield anything more helpful.
Can anyone explain 'inferior' in simple terms?
Solution 1:[1]
"Inferior" is a general term to mean "something that you are using gdb to debug" -- generally a process or perhaps a kernel running on an emulator or on some other piece of hardware connected on a serial line.
The term "Inferior debugger" comes up when you are using gdb to debug gdb. That is, you have TWO gdb processes running, one of which (the main gdb) is watching and controlling (setting breakpoints, single stepping, etc) the second (the "inferior debugger"). The inferior debugger is itself probably controlling some other program.
Solution 2:[2]
In gdb, "inferior" refers to the process that you're debugging. E.g.
(gdb) help info inferiors
IDs of specified inferiors (all inferiors if no argument).
(gdb) info inferiors
Num Description Executable
* 1 process 12858 /usr/bin/true
gdb can now debug multiple processes at once, so it has a command to switch between inferiors similar to how you can switch between threads.
(gdb) help inferior
Use this command to switch between inferiors.
The new inferior ID must be currently known.
Most of the commands in the Inferiors Connections and Programs section of the manual deals with debugging multiple processes concurrently.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Chris Dodd |
Solution 2 | AlexF |