“inferior debugger”中的“inferior”是什么意思?

35

我并没有真正理解GDB手册中关于inferior的解释,而且谷歌也没有提供更有帮助的信息。

有人能够用简单的语言解释一下'inferior'吗?


你能举个例子吗? - Mike Christensen
2
http://sourceware.org/gdb/onlinedocs/gdb/Inferiors-and-Programs.html - borrible
@borrible - 我想到的那个链接很难理解(我有点傻,需要简单易懂的解释!:-))。"Inferior通常对应于一个进程,但更为一般,并且也适用于没有进程的目标。" 简而言之,在GDB上下文中,你能说出什么是inferior吗? - BeeBand
3
"下位机"是指gdb可以控制并让您调试的一些东西。它可以是您机器上的一个进程,或另一台机器的操作系统内核,或者您能想到的任何可以设置断点的东西。 - n. m.
2个回答

32
“不好的”是一个通用术语,意味着“你正在使用gdb来调试的东西”——通常是在仿真器或串行线上连接的某些其他硬件上运行的进程或内核。
当您使用gdb调试gdb时,术语“Inferior debugger”就会出现。也就是说,您有两个gdb进程在运行,其中一个(主gdb)正在监视和控制(设置断点、单步执行等)第二个(“inferior debugger”)。inferior debugger本身可能在控制其他程序。

20
在gdb中,“inferior”指的是您正在调试的进程。例如:
(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可以同时调试多个进程,因此它有一个类似于您可以在线程之间切换的命令,用于在不同的程序之间切换。

(gdb) help inferior 
Use this command to switch between inferiors.
The new inferior ID must be currently known.

手册中的 Inferiors Connections and Programs 章节中的大部分命令都是用于同时调试多个进程的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接