mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
2daf894ed0
A following patch will introduce options for the "backtrace" command, based on some "set print" and "set backtrace" settings. There's one setting in particular that is a bit annoying if we want to describe the backtrace options and the settings commands using the same data structures: "set print raw frame-arguments" The problem is that space between "raw" and "frame-arguments". Calling the option "bt -raw frame-arguments" would be odd. So I'm calling the option "bt -raw-frame-arguments" instead. And for consistency, this patch renames the set/show commands to: "set print raw-frame-arguments" "show print raw-frame-arguments" I.e., dash instead of space. The old commands are left in place, but marked deprecated. We need to adjust a couple testcases, because the relevant tests use gdb_test_no_output and the old commands are no longer silent: (gdb) set print raw frame-arguments on Warning: command 'set print raw frame-arguments' is deprecated. Use 'set print raw-frame-arguments'. gdb/ChangeLog: 2019-06-13 Pedro Alves <palves@redhat.com> * NEWS (Changed commands): Mention set/show print raw-frame-arguments, and that "set/show print raw frame-arguments" are now deprecated. * cli/cli-decode.c (add_setshow_boolean_cmd): Now returns the command. * command.h (add_setshow_boolean_cmd): Return cmd_list_element *. * stack.c (_initialize_stack): Install "set/show print raw-frame-arguments", and deprecate "set/show print raw frame-arguments". * valprint.c (_initialize_valprint): Deprecate "set/show print raw". gdb/doc/ChangeLog: 2019-06-13 Pedro Alves <palves@redhat.com> * gdb.texinfo (Print Settings): Document "set/show print raw-frame-arguments" instead of "set/show print raw frame-arguments". gdb/testsuite/ChangeLog: 2019-06-13 Pedro Alves <palves@redhat.com> * gdb.guile/scm-frame-args.exp: Use "set print raw-frame-arguments" instead of "set print raw frame-arguments". * gdb.python/py-frame-args.exp: Likewise.
74 lines
2.3 KiB
Plaintext
74 lines
2.3 KiB
Plaintext
# Copyright (C) 2014-2019 Free Software Foundation, Inc.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
load_lib gdb-guile.exp
|
|
|
|
standard_testfile
|
|
|
|
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
|
|
return
|
|
}
|
|
|
|
# Skip all tests if Guile scripting is not enabled.
|
|
if { [skip_guile_tests] } { continue }
|
|
|
|
if ![gdb_guile_runto_main] {
|
|
return
|
|
}
|
|
|
|
set remote_guile_file [gdb_remote_download host \
|
|
${srcdir}/${subdir}/${testfile}.scm]
|
|
|
|
gdb_scm_load_file "$remote_guile_file" "load script"
|
|
|
|
gdb_breakpoint [gdb_get_line_number "break-here"]
|
|
gdb_continue_to_breakpoint "break-here" ".* break-here .*"
|
|
|
|
# Test all combinations with raw off.
|
|
|
|
gdb_test_no_output "set print raw-frame-arguments off"
|
|
|
|
gdb_test_no_output "set print frame-arguments none"
|
|
gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \
|
|
"frame pretty,none"
|
|
|
|
#gdb_test_no_output "set guile print-stack full"
|
|
|
|
gdb_test_no_output "set print frame-arguments scalars"
|
|
gdb_test "frame" ".*foo \\(x=42, ss=super struct = {\[.\]{3}}\\).*" \
|
|
"frame pretty,scalars"
|
|
|
|
gdb_test_no_output "set print frame-arguments all"
|
|
gdb_test "frame" \
|
|
".*foo \\(x=42, ss=super struct = {a = m=<1>, b = m=<2>}\\).*" \
|
|
"frame pretty,all"
|
|
|
|
# Test all combinations with raw on.
|
|
|
|
gdb_test_no_output "set print raw-frame-arguments on"
|
|
|
|
gdb_test_no_output "set print frame-arguments none"
|
|
gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \
|
|
"frame raw,none"
|
|
|
|
gdb_test_no_output "set print frame-arguments scalars"
|
|
gdb_test "frame" ".*foo \\(x=42, ss=\[.\]{3}\\).*" \
|
|
"frame raw,scalars"
|
|
|
|
gdb_test_no_output "set print frame-arguments all"
|
|
gdb_test "frame" \
|
|
".*foo \\(x=42, ss={a = {m = 1}, b = {m = 2}}\\).*" \
|
|
"frame raw,all"
|