]> git.eshelyaron.com Git - emacs.git/commit
Display complex data types in gdb-mi
authorGustaf Waldemarson <gustaf.waldemarson@gmail.com>
Sun, 6 Mar 2022 21:56:04 +0000 (22:56 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 6 Mar 2022 21:56:04 +0000 (22:56 +0100)
commitf70bf8a21dc1283a58367cbca31decef633c6dab
tree2411f3fd0f2d3413a1cad5cd120b8592a7a595cf
parent5b7ce98ea0fd368aa5a73d5f6e01cf8b0fd253c1
Display complex data types in gdb-mi

* lisp/progmodes/gdb-mi.el (bindat): Require.
(gdb-invalidate-locals): Use `-stack-list-variables` instead of
the deprecated `-stack-list-locals`. Additionally, this allow
function arguments to be displayed in the locals buffer.
(gdb-locals-values-buffer, gdb-locals-values-buffer-name)
(gdb-locals-simple-values-only, gdb-locals-values-table): New
variables.
(gdb-locals-values-handler-custom): Create a new gdb buffer for
extracting local variable values. To
extract the values for 'complex' data-types, the command
`-stack-list-locals` is used with the `--all-values` flag.

The extracted values are then stored in a hash-table for later use in
the `gdb-locals-handler-custom` that performs the actual update of the
Local variable buffer.

All variable values are filtered to fit it into a single line, being
truncated as necessary by the user customizable option
`gdb-locals-value-limit`.

The old behavior of hiding complex values can be restored using the
customizable `gdb-locals-simple-values-only` option.

Patch amended by William Xu <william.xwl@gmail.com>.
lisp/progmodes/gdb-mi.el