命令设置

许多命令根据特定于命令的变量或设置更改其行为。 可以使用set子命令来更改这些设置。 例如,打印命令(请参阅检查数据)根据可通过设置设置打印元素NUMBER-OF-ELEMENTS和设置打印数组索引等命令更改的设置来不同地打印数组。

您可以在GDB启动时加载的gdbinit文件中根据自己的喜好更改这些设置。 请参阅启动。

也可以在调试会话期间以交互方式更改设置。 例如,要更改要打印的数组元素的限制,可以执行以下操作:

(GDB) set print elements 10
(GDB) print some_array
$1 = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90...}

上面设置的print elements 10命令将要打印的元素数从默认值200更改为10。如果仅打算将此限制10用于打印some_array,则必须使用设置的打印元素200将限制恢复回200。

某些命令允许使用命令选项覆盖设置。 例如,print命令支持许多选项,这些选项允许覆盖由set print子命令设置的相关全局打印设置。 请参阅打印选项。 上面的示例可以重写为:

(GDB) print -elements 10 -- some_array
$1 = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90...}

或者,您可以在命令调用期间使用with命令临时更改设置。

with setting [value] [-- command]
w setting [value] [-- command]

在命令持续时间内将设置临时设置为值。

设置是您可以使用set子命令更改的任何设置。 value是运行命令时要分配给设置的值。

如果未提供命令,则重复执行最后执行的命令。

如果提供了命令,则必须在命令前加上双破折号(-)。 这是必需的,因为某些设置接受自由格式的参数,例如表达式或文件名。

例如,命令

(GDB) with print array on -- print some_array

等效于以下3个命令:

(GDB) set print array on
(GDB) print some_array
(GDB) set print array off

当您要在运行用户定义的命令或Python或Guile中定义的命令时覆盖设置时,with命令特别有用。请参阅扩展GDB。

(GDB) with print pretty on -- my_complex_command

要更改同一命令的多个设置,可以嵌套命令。例如,如果使用语言ada-使用打印元素10,则暂时将语言更改为Ada,并将数组和字符串的打印限制设置为10个。

results matching ""

    No results matching ""