使用参数调用GDB

时间:2014-12-07 21:37:28

标签: c debugging gcc gdb

在GDB手册的第二章(Gettint In and Out of GDB),第2.1节(调用GDB)中,它说:

  

您可以选择让gdb在可执行文件后传递任何参数   使用--args将文件归档到下级。此选项会停止选项   处理。

     

gdb --args gcc -O2 -c foo.c

这是什么意思?我在参数列表中看不到任何可执行文件。什么是'劣等'

编辑:我想gcc是我们在这里调试的可执行文件。那是对的吗。那么这是否意味着我们在使用参数" -O2 -c foo.c"运行时调试程序gcc?

1 个答案:

答案 0 :(得分:1)

“Inferiors”在文档的不同部分描述,位于4.9 Debugging Multiple Inferiors and Programs

  

GDB表示使用对象执行每个程序的状态   称为劣等。劣势通常对应于一个过程,   但更为通用,也适用于没有的目标   流程。可以在进程运行之前创建Inferiors,也可以是   进程退出后保留。 Inferiors具有唯一标识符   与流程ID不同。通常每个劣等者也会有   它有自己独特的地址空间,尽管有些嵌入式目标可能   有几个下级在一个地址的不同部分运行   空间。每个下级可能会在其中运行多个线程。

你没有引用的部分说:

  

这将导致gdb调试gcc,并设置gcc的命令行   争论(见   Arguments)   到'-O2 -c foo.c'。

gcc是此处的可执行文件。