아래 내용을 통해서 gdb에서 tui모드를 사용할 때, c++ code에 대해서 가독성을 높일 수 있는 색상을 입힐 수 있는 내용이 있나요? 설명해주세요.

2071 *** Changes in GDB 8.3
2072 
2073 * GDB and GDBserver now support access to additional registers on
2074   PowerPC GNU/Linux targets: PPR, DSCR, TAR, EBB/PMU registers, and
2075   HTM registers.
2076 
2077 * GDB now has experimental support for the compilation and injection of
2078   C++ source code into the inferior.  This beta release does not include
2079   support for several language features, such as templates, constructors,
2080   and operators.
2081 
2082   This feature requires GCC 7.1 or higher built with libcp1.so
2083   (the C++ plug-in).
2084 
2085 * GDB and GDBserver now support IPv6 connections.  IPv6 addresses
2086   can be passed using the '[ADDRESS]:PORT' notation, or the regular
2087   'ADDRESS:PORT' method.
2088 
2089 * DWARF index cache: GDB can now automatically save indices of DWARF
2090   symbols on disk to speed up further loading of the same binaries.
2091 
2092 * Ada task switching is now supported on aarch64-elf targets when
2093   debugging a program using the Ravenscar Profile.  For more information,
2094   see the "Tasking Support when using the Ravenscar Profile" section
2095   in the GDB user manual.
2096 
2097 * GDB in batch mode now exits with status 1 if the last command to be
2098   executed failed.
2099 
2100 * The RISC-V target now supports target descriptions.
2101 
2102 * System call catchpoints now support system call aliases on FreeBSD.
2103   When the ABI of a system call changes in FreeBSD, this is
2104   implemented by leaving a compatibility system call using the old ABI
2105   at the existing number and allocating a new system call number for
2106   the new ABI.  For example, FreeBSD 12 altered the layout of 'struct
2107   kevent' used by the 'kevent' system call.  As a result, FreeBSD 12
2108   kernels ship with both 'kevent' and 'freebsd11_kevent' system calls.
2109   The 'freebsd11_kevent' system call is assigned an alias of 'kevent'
2110   so that a system call catchpoint for the 'kevent' system call will
2111   catch invocations of both the 'kevent' and 'freebsd11_kevent'
2112   binaries.  This ensures that 'kevent' system calls are caught for
2113   binaries using either the old or new ABIs.
2114 
2115 * Terminal styling is now available for the CLI and the TUI.  GNU
2116   Source Highlight can additionally be used to provide styling of
2117   source code snippets.  See the "set style" commands, below, for more
2118   information.
2119 
2120 * Removed support for old demangling styles arm, edg, gnu, hp and
2121   lucid.
2122 
2123 * New commands
2124 
2125 set debug compile-cplus-types
2126 show debug compile-cplus-types
2127   Control the display of debug output about type conversion in the
2128   C++ compile feature.  Commands have no effect while compiling
2129   for other languages.
2130 
2131 set debug skip
2132 show debug skip
2133   Control whether debug output about files/functions skipping is
2134   displayed.
2135 
2136 frame apply [all | COUNT | -COUNT | level LEVEL...] [FLAG]... COMMAND
2137   Apply a command to some frames.
2138   FLAG arguments allow to control what output to produce and how to handle
2139   errors raised when applying COMMAND to a frame.
2140 
2141 taas COMMAND
2142   Apply a command to all threads (ignoring errors and empty output).
2143   Shortcut for 'thread apply all -s COMMAND'.
2144 
2145 faas COMMAND
2146   Apply a command to all frames (ignoring errors and empty output).
2147   Shortcut for 'frame apply all -s COMMAND'.
2148 
2149 tfaas COMMAND
2150   Apply a command to all frames of all threads (ignoring errors and empty
2151   output).
2152   Shortcut for 'thread apply all -s frame apply all -s COMMAND'.
2153 
2154 maint set dwarf unwinders (on|off)
2155 maint show dwarf unwinders
2156   Control whether DWARF unwinders can be used.
2157 
2158 info proc files
2159   Display a list of open files for a process.
2160 
2161 * Changed commands
2162 
2163 Changes to the "frame", "select-frame", and "info frame" CLI commands.
2164   These commands all now take a frame specification which
2165   is either a frame level, or one of the keywords 'level', 'address',
2166   'function', or 'view' followed by a parameter.  Selecting a frame by
2167   address, or viewing a frame outside the current backtrace now
2168   requires the use of a keyword.  Selecting a frame by level is
2169   unchanged.  The MI comment "-stack-select-frame" is unchanged.
2170 
2171 target remote FILENAME
2172 target extended-remote FILENAME
2173   If FILENAME is a Unix domain socket, GDB will attempt to connect
2174   to this socket instead of opening FILENAME as a character device.
2175 
2176 info args [-q] [-t TYPEREGEXP] [NAMEREGEXP]
2177 info functions [-q] [-t TYPEREGEXP] [NAMEREGEXP]
2178 info locals [-q] [-t TYPEREGEXP] [NAMEREGEXP]
2179 info variables [-q] [-t TYPEREGEXP] [NAMEREGEXP]
2180   These commands can now print only the searched entities
2181   matching the provided regexp(s), giving a condition
2182   on the entity names or entity types.  The flag -q disables
2183   printing headers or informations messages.
2184 
2185 info functions
2186 info types
2187 info variables
2188 rbreak
2189   These commands now determine the syntax for the shown entities
2190   according to the language chosen by `set language'.  In particular,
2191   `set language auto' means to automatically choose the language of
2192   the shown entities.
2193 
2194 thread apply [all | COUNT | -COUNT] [FLAG]... COMMAND
2195   The 'thread apply' command accepts new FLAG arguments.
2196   FLAG arguments allow to control what output to produce and how to handle
2197   errors raised when applying COMMAND to a thread.
2198 
2199 set tui tab-width NCHARS
2200 show tui tab-width NCHARS
2201   "set tui tab-width" replaces the "tabset" command, which has been deprecated.
2202 
2203 set style enabled [on|off]
2204 show style enabled
2205   Enable or disable terminal styling.  Styling is enabled by default
2206   on most hosts, but disabled by default when in batch mode.
2207 
2208 set style sources [on|off]
2209 show style sources
2210   Enable or disable source code styling.  Source code styling is
2211   enabled by default, but only takes effect if styling in general is
2212   enabled, and if GDB was linked with GNU Source Highlight.
2213 
2214 set style filename foreground COLOR
2215 set style filename background COLOR
2216 set style filename intensity VALUE
2217   Control the styling of file names.
2218 
2219 set style function foreground COLOR
2220 set style function background COLOR
2221 set style function intensity VALUE
2222   Control the styling of function names.
2223 
2224 set style variable foreground COLOR
2225 set style variable background COLOR
2226 set style variable intensity VALUE
2227   Control the styling of variable names.
2228 
2229 set style address foreground COLOR
2230 set style address background COLOR
2231 set style address intensity VALUE
2232   Control the styling of addresses.
2233 
2234 * MI changes
2235 
2236   ** The '-data-disassemble' MI command now accepts an '-a' option to
2237      disassemble the whole function surrounding the given program
2238      counter value or function name.  Support for this feature can be
2239      verified by using the "-list-features" command, which should
2240      contain "data-disassemble-a-option".
2241 
2242   ** Command responses and notifications that include a frame now include
2243      the frame's architecture in a new "arch" attribute.
2244 
2245 * New native configurations
2246 
2247 GNU/Linux/RISC-V                riscv*-*-linux*
2248 FreeBSD/riscv                   riscv*-*-freebsd*
2249 
2250 * New targets
2251 
2252 GNU/Linux/RISC-V                riscv*-*-linux*
2253 CSKY ELF                        csky*-*-elf
2254 CSKY GNU/LINUX                  csky*-*-linux
2255 FreeBSD/riscv                   riscv*-*-freebsd*
2256 NXP S12Z                        s12z-*-elf
2257 GNU/Linux/OpenRISC              or1k*-*-linux*
2258 
2259 * Removed targets
2260 
2261 GDB no longer supports native debugging on versions of MS-Windows
2262 before Windows XP.
2263 
2264 * Python API
2265 
2266   ** GDB no longer supports Python versions less than 2.6.
2267 
2268   ** The gdb.Inferior type has a new 'progspace' property, which is the program
2269      space associated to that inferior.
2270 
2271   ** The gdb.Progspace type has a new 'objfiles' method, which returns the list
2272      of objfiles associated to that program space.
2273 
2274   ** gdb.SYMBOL_LOC_COMMON_BLOCK, gdb.SYMBOL_MODULE_DOMAIN, and
2275      gdb.SYMBOL_COMMON_BLOCK_DOMAIN were added to reflect changes to
2276      the gdb core.
2277 
2278   ** gdb.SYMBOL_VARIABLES_DOMAIN, gdb.SYMBOL_FUNCTIONS_DOMAIN, and
2279      gdb.SYMBOL_TYPES_DOMAIN are now deprecated.  These were never
2280      correct and did not work properly.
2281 
2282   ** The gdb.Value type has a new constructor, which is used to construct a
2283      gdb.Value from a Python buffer object and a gdb.Type.
2284 
2285 * Configure changes
2286 
2287 --enable-ubsan
2288 
2289   Enable or disable the undefined behavior sanitizer.  This is
2290   disabled by default, but passing --enable-ubsan=yes or
2291   --enable-ubsan=auto to configure will enable it.  Enabling this can
2292   cause a performance penalty.  The undefined behavior sanitizer was
2293   first introduced in GCC 4.9.
2294 
2295 *** Changes in GDB 8.2
2296 
2297 * The 'set disassembler-options' command now supports specifying options
2298   for the MIPS target.
2299 
2300 * The 'symbol-file' command now accepts an '-o' option to add a relative
2301   offset to all sections.
2302 
2303 * Similarly, the 'add-symbol-file' command also accepts an '-o' option to add
2304   a relative offset to all sections, but it allows to override the load
2305   address of individual sections using '-s'.
2306 
2307 * The 'add-symbol-file' command no longer requires the second argument
2308   (address of the text section).
2309 
2310 * The endianness used with the 'set endian auto' mode in the absence of
2311   an executable selected for debugging is now the last endianness chosen
2312   either by one of the 'set endian big' and 'set endian little' commands
2313   or by inferring from the last executable used, rather than the startup
2314   default.
2315 
2316 * The pager now allows a "c" response, meaning to disable the pager
2317   for the rest of the current command.
2318 
2319 * The commands 'info variables/functions/types' now show the source line
2320   numbers of symbol definitions when available.
2321 
2322 * 'info proc' now works on running processes on FreeBSD systems and core
2323   files created on FreeBSD systems.
2324 
2325 * C expressions can now use _Alignof, and C++ expressions can now use
2326   alignof.
2327 
2328 * Support for SVE on AArch64 Linux.  Note that GDB does not detect changes to
2329   the vector length while the process is running.
2330 
2331 * New commands
2332 
2333 set debug fbsd-nat
2334 show debug fbsd-nat
2335   Control display of debugging info regarding the FreeBSD native target.
2336 
2337 set|show varsize-limit
2338   This new setting allows the user to control the maximum size of Ada
2339   objects being printed when those objects have a variable type,
2340   instead of that maximum size being hardcoded to 65536 bytes.
2341 
2342 set|show record btrace cpu
2343   Controls the processor to be used for enabling errata workarounds for
2344   branch trace decode.
2345 
2346 maint check libthread-db
2347   Run integrity checks on the current inferior's thread debugging
2348   library
2349 
2350 maint set check-libthread-db (on|off)
2351 maint show check-libthread-db
2352   Control whether to run integrity checks on inferior specific thread
2353   debugging libraries as they are loaded.  The default is not to
2354   perform such checks.
2355 
2356 * Python API
2357 
2358   ** Type alignment is now exposed via the "align" attribute of a gdb.Type.
2359 
2360   ** The commands attached to a breakpoint can be set by assigning to
2361      the breakpoint's "commands" field.
2362 
2363   ** gdb.execute can now execute multi-line gdb commands.
2364 
2365   ** The new functions gdb.convenience_variable and
2366      gdb.set_convenience_variable can be used to get and set the value
2367      of convenience variables.
2368 
2369   ** A gdb.Parameter will no longer print the "set" help text on an
2370      ordinary "set"; instead by default a "set" will be silent unless
2371      the get_set_string method returns a non-empty string.
2372 
2373 * New targets
2374 
2375 RiscV ELF                       riscv*-*-elf
2376 
2377 * Removed targets and native configurations
2378 
2379 m88k running OpenBSD            m88*-*-openbsd*
2380 SH-5/SH64 ELF                   sh64-*-elf*, SH-5/SH64 support in sh*
2381 SH-5/SH64 running GNU/Linux     SH-5/SH64 support in sh*-*-linux*
2382 SH-5/SH64 running OpenBSD       SH-5/SH64 support in sh*-*-openbsd*
2383 
2384 * Aarch64/Linux hardware watchpoints improvements
2385 
2386   Hardware watchpoints on unaligned addresses are now properly
2387   supported when running Linux kernel 4.10 or higher: read and access
2388   watchpoints are no longer spuriously missed, and all watchpoints
2389   lengths between 1 and 8 bytes are supported.  On older kernels,
2390   watchpoints set on unaligned addresses are no longer missed, with
2391   the tradeoff that there is a possibility of false hits being
2392   reported.
2393 
2394 * Configure changes
2395 
2396 --enable-codesign=CERT
2397   This can be used to invoke "codesign -s CERT" after building gdb.
2398   This option is useful on macOS, where code signing is required for
2399   gdb to work properly.
2400 
2401 --disable-gdbcli has been removed
2402   This is now silently accepted, but does nothing.