选择模式

您可以在各种替代模式下运行GDB,例如,以批处理模式或安静模式运行。

-nx
-n

不要执行在任何初始化文件中找到的命令。有三个初始化文件,按以下顺序加载:

system.gdbinit 这是系统范围的初始化文件。它的位置由--with-system-gdbinit配置选项指定(请参阅系统范围的配置)。 GDB启动时会先加载它,然后再处理命令行选项。

system.gdbinit.d 这是系统范围的init目录。它的位置由--with-system-gdbinit-dir配置选项指定(请参阅系统范围的配置)。 GDB启动时,在处理命令行选项之前,将在system.gdbinit(如果启用)之后立即按字母顺序加载此目录中的文件。文件需要具有公认的脚本语言扩展名(.py / .scm)或以.gdb扩展名命名,才能将其解释为常规GDB命令。 GDB不会递归到该目录的任何子目录中。

〜/ .gdbinit 这是您的主目录中的init文件。接下来,将在system.gdbinit之后且在处理命令选项之前加载该文件。

./.gdbinit 这是当前目录中的初始化文件。在处理了-x和-ex以外的命令行选项之后,最后加载该文件。在加载./.gdbinit之后,最后处理命令行选项-x和-ex。

有关启动处理的更多文档,请参阅启动。有关如何编写命令文件的文档,请参见命令文件

-nh

不要执行〜/ .gdbinit(主目录中的init文件)中的命令。请参阅启动。

-quiet
-silent
-q

安静的”。不要打印介绍性和版权信息。这些消息在批处理模式下也被禁止。

-batch

以批处理模式运行。 处理完以“ -x”指定的所有命令文件(以及初始化文件中的所有命令,如果未使用“ -n”禁止的话)后,以状态0退出。 如果在执行命令文件中的GDB命令时发生错误,则以非零状态退出。 批处理模式还禁用分页,设置无限制的终端宽度和高度,请参见屏幕尺寸,并像设置确认关闭一样起作用(请参阅消息/警告)。

批处理模式对于将GDB用作过滤器可能很有用,例如在另一台计算机上下载并运行程序; 为了使它更有用,消息

Program exited normally.

(在GDB控制下运行的程序终止时,通常会发出)(以批处理模式运行时)。

-batch-silent 与“批处理”完全一样,以批处理模式运行,但完全无声。禁止将所有GDB输出到stdout(stderr不受影响)。这比“静音”要安静得多,并且对于交互式会话来说毫无用处。

例如,这在使用提供“正在加载部分”消息的目标时特别有用。

请注意,通过GDB提供输出的目标(而不是直接写入stdout)也将变为静音。

-return-child-result GDB的返回码将是子进程(正在调试的进程)的返回码,但以下情况除外:

  • GDB异常退出。例如,由于参数错误或内部错误。在这种情况下,退出代码与没有“ -return-child-result”时的退出代码相同。

  • 用户以一个明确的值退出。例如,“退出1”。

  • 子进程永远不会运行或不允许终止,在这种情况下,退出代码将为-1。

当GDB用作远程程序加载器或模拟器接口时,此选项与“ -batch”或“ -batch-silent”结合使用非常有用。

-nowindows -nw “没有窗户”。如果GDB内置了图形用户界面(GUI),则此选项告诉GDB仅使用命令行界面。如果没有可用的GUI,则此选项无效。

-windows -w 如果GDB包含GUI,则该选项要求在可能的情况下使用它。

-cd directory 使用directory作为其工作目录而不是当前目录运行GDB。

-data-directory directory -D directory 使用directory作为其数据目录运行GDB。数据目录是GDB搜索其辅助文件的位置。请参阅数据文件。

-fullname -F 当GNU Emacs作为子进程运行GDB时,将设置此选项。它告诉GDB每次显示堆栈帧时(包括程序每次停止)以标准的,可识别的方式输出完整的文件名和行号。这种可识别的格式看起来像两个'\ 032'字符,然后是文件名,行号和字符位置(以冒号分隔)和换行符。 Emacs到GDB的接口程序使用两个“ \ 032”字符作为信号来显示框架的源代码。

-annotate level 此选项在GDB中设置注释级别。其效果与使用“设置注释级别”相同(请参见注释)。注释级别控制GDB打印多少信息及其提示,表达式值,源代码行和其他类型的输出。级别0是正常级别,级别1是在GDB作为GNU Emacs的子进程运行时使用的级别,级别3是适用于控制GDB的程序的最大注释,级别2已弃用。

注释机制在很大程度上已被GDB / MI取代(请参见GDB / MI)。

--args 更改命令行的解释,以便将可执行文件之后的参数作为命令行参数传递给下级。此选项停止选项处理。

-baud bps -b bps 设置GDB用于远程调试的任何串行接口的线速度(波特率或每秒比特数)。

-l timeout 设置GDB用于远程调试的任何通信的超时(以秒为单位)。

-tty device -t device 使用设备运行程序的标准输入和输出。

-tui 启动时激活文本用户界面。文本用户界面管理终端上的多个文本窗口,显示源,汇编,寄存器和GDB命令输出(请参见GDB文本用户界面)。如果从Emacs运行GDB,请不要使用此选项(请参阅GNU Emacs下的使用GDB)。

-interpreter interp 使用解释器插入程序与控制程序或设备进行接口。该选项由与GDB进行通信的程序设置,该程序将其用作后端。请参阅命令解释器。

“ --interpreter = mi”(或“ --interpreter = mi3”)使GDB使用自9.1版本的GDB以来包含的GDB / MI接口版本3(请参见GDB / MI接口)。也提供GDB 6.0中包含的GDB / MI版本2(mi2)和GDB 5.3中包含的版本1(mi1)。不再支持早期的GDB / MI接口。

-write 打开可执行文件和核心文件以进行读取和写入。这等效于GDB中的“设置写入时间”命令(请参阅修补程序)。

-statistics 此选项使GDB在完成每个命令并返回提示后,打印有关时间和内存使用情况的统计信息。

-version 此选项使GDB打印其版本号和无担保的内容,然后退出。

-configuration 此选项使GDB打印有关其构建时配置参数的详细信息,然后退出。在报告GDB错误(请参阅GDB错误)时,这些详细信息可能很重要。

results matching ""

    No results matching ""