### 22.8 Optional Messages about Internal Happenings

gdb has commands that enable optional debugging messages from various gdb subsystems; normally these commands are of interest to gdb maintainers, or when reporting a bug. This section documents those commands.

`set exec-done-display`
  Turns on or off the notification of asynchronous commands' completion. When on, gdb will print a message when an asynchronous command finishes its execution. The default is off.
`show exec-done-display`
  Displays the current setting of asynchronous command completion notification.
`set debug arch`
  Turns on or off display of gdbarch debugging info. The default is off
`show debug arch`
  Displays the current state of displaying gdbarch debugging info.
`set debug aix-thread`
  Display debugging messages about inner workings of the AIX thread module.
`show debug aix-thread`
  Show the current state of AIX thread debugging info display.
`set debug dwarf2-die`
  Dump DWARF2 DIEs after they are read in. The value is the number of nesting levels to print. A value of zero turns off the display.
`show debug dwarf2-die`
  Show the current state of DWARF2 DIE debugging.
`set debug displaced`
  Turns on or off display of gdb debugging info for the displaced stepping support. The default is off.
`show debug displaced`
  Displays the current state of displaying gdb debugging info related to displaced stepping.
`set debug event`
  Turns on or off display of gdb event debugging info. The default is off.
`show debug event`
  Displays the current state of displaying gdb event debugging info.
`set debug expression`
  Turns on or off display of debugging info about gdb expression parsing. The default is off.
`show debug expression`
  Displays the current state of displaying debugging info about gdb expression parsing.
`set debug frame`
  Turns on or off display of gdb frame debugging info. The default is off.
`show debug frame`
  Displays the current state of displaying gdb frame debugging info.
`set debug gnu-nat`
  Turns on or off debugging messages from the gnu/Hurd debug support.
`show debug gnu-nat`
  Show the current state of gnu/Hurd debugging messages.
`set debug infrun`
  Turns on or off display of gdb debugging info for running the inferior. The default is off. `infrun.c` contains GDB's runtime state machine used for implementing operations such as single-stepping the inferior.
`show debug infrun`
  Displays the current state of gdb inferior debugging.
`set debug lin-lwp`
  Turns on or off debugging messages from the Linux LWP debug support.
`show debug lin-lwp`
  Show the current state of Linux LWP debugging messages.
`set debug lin-lwp-async`
  Turns on or off debugging messages from the Linux LWP async debug support.
`show debug lin-lwp-async`
  Show the current state of Linux LWP async debugging messages.
`set debug observer`
  Turns on or off display of gdb observer debugging. This includes info such as the notification of observable events.
`show debug observer`
  Displays the current state of observer debugging.
`set debug overload`
  Turns on or off display of gdb C`++` overload debugging info. This includes info such as ranking of functions, etc. The default is off.
`show debug overload`
  Displays the current state of displaying gdb C`++` overload debugging info.
`set debug parser`
  Turns on or off the display of expression parser debugging output. Internally, this sets the `yydebug` variable in the expression parser. See Tracing Your Parser, for details. The default is off.
`show debug parser`
  Show the current state of expression parser debugging.
`set debug remote`
  Turns on or off display of reports on all packets sent back and forth across the serial line to the remote machine. The info is printed on the gdb standard output stream. The default is off.
`show debug remote`
  Displays the state of display of remote packets.
`set debug serial`
  Turns on or off display of gdb serial debugging info. The default is off.
`show debug serial`
  Displays the current state of displaying gdb serial debugging info.
`set debug solib-frv`
  Turns on or off debugging messages for FR-V shared-library code.
`show debug solib-frv`
  Display the current state of FR-V shared-library code debugging messages.
`set debug target`
  Turns on or off display of gdb target debugging info. This info includes what is going on at the target level of GDB, as it happens. The default is 0. Set it to 1 to track events, and to 2 to also track the value of large memory transfers. Changes to this flag do not take effect until the next time you connect to a target or use the `run` command.
`show debug target`
  Displays the current state of displaying gdb target debugging info.
`set debug timestamp`
  Turns on or off display of timestamps with gdb debugging info. When enabled, seconds and microseconds are displayed before each debugging message.
`show debug timestamp`
  Displays the current state of displaying timestamps with gdb debugging info.
`set debugvarobj`
  Turns on or off display of gdb variable object debugging info. The default is off.
`show debugvarobj`
  Displays the current state of displaying gdb variable object debugging info.
`set debug xml`
  Turns on or off debugging messages for built-in XML parsers.
`show debug xml`
  Displays the current state of XML debugging messages.