From patchwork Sat May 4 21:55:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philippe Waroquiers X-Patchwork-Id: 32559 Received: (qmail 75936 invoked by alias); 4 May 2019 21:57:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 75891 invoked by uid 89); 4 May 2019 21:57:46 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-22.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mailsec111.isp.belgacom.be Received: from mailsec111.isp.belgacom.be (HELO mailsec111.isp.belgacom.be) (195.238.20.107) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 04 May 2019 21:57:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skynet.be; i=@skynet.be; q=dns/txt; s=securemail; t=1557007064; x=1588543064; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eKLhQLO5R7Ocn9Z+UxjZQ/bnSKkGa+gqbaNiHgv6Ej8=; b=sTR3zAjs1tsezU0bhzWrW+Ti6C20KF3dGqmUlAsvr1tSZbGF5Et6jski 6UoU60PW9EMD1ZT6DOR3I43axVUvEg==; Received: from 59.151-129-109.adsl-dyn.isp.belgacom.be (HELO md.home) ([109.129.151.59]) by relay.skynet.be with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 04 May 2019 23:55:50 +0200 From: Philippe Waroquiers To: gdb-patches@sourceware.org Cc: Philippe Waroquiers Subject: [RFA 3/3] Document 'set print frame-info|frame-arguments presence'. Date: Sat, 4 May 2019 23:55:38 +0200 Message-Id: <20190504215538.29821-4-philippe.waroquiers@skynet.be> In-Reply-To: <20190504215538.29821-1-philippe.waroquiers@skynet.be> References: <20190504215538.29821-1-philippe.waroquiers@skynet.be> MIME-Version: 1.0 X-IsSubscribed: yes --- gdb/NEWS | 12 +++++++++++ gdb/doc/ChangeLog | 5 +++++ gdb/doc/gdb.texinfo | 51 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) diff --git a/gdb/NEWS b/gdb/NEWS index b21b2cbb47..893b220acc 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -48,6 +48,18 @@ show may-call-functions an error when a command (such as print expression) calls a function in the program. +set print frame-info [short_loc|location|loc_and_address|src_and_loc + |src_line|auto] +show print frame-info + This controls what frame information is printed by the commands printing + a frame. + +* Changed commands + +set print frame-arguments + The new value 'presence' indicates to only indicate the presence of + arguments using ..., instead of printing argument names and values. + *** Changes in GDB 8.3 * GDB and GDBserver now support access to additional registers on diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index a26e20c823..53ba452a7f 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -12825,3 +12825,8 @@ fill-column: 74 version-control: never coding: utf-8 End: +2019-05-04 Philippe Waroquiers + + * gdb.texinfo (Print Settings): Document 'set|show print frame-info'. + (Backtraces): Reference 'set print frame-info'. + diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index dd8ae91b93..5d065c9c79 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -7554,6 +7554,8 @@ The value of parameter @code{data} in frame 1 has been replaced by only if it is a scalar (integer, pointer, enumeration, etc). See command @kbd{set print frame-arguments} in @ref{Print Settings} for more details on how to configure the way function parameter values are printed. +The command @kbd{set print frame-info} (see @ref{Print Settings}) controls +what frame information is printed. @cindex optimized out, in backtrace @cindex function call arguments, optimized out @@ -10386,6 +10388,7 @@ If the number is 0, then the printing is unlimited. @cindex print all frame argument values @cindex print frame argument values for scalars only @cindex do not print frame argument values +@cindex do not print frame argument names This command allows to control how the values of arguments are printed when the debugger prints a frame (@pxref{Frames}). The possible values are: @@ -10413,6 +10416,17 @@ is replaced by @code{@dots{}}. In this case, the example above now becomes: #1 0x08048361 in call_me (i=@dots{}, s=@dots{}, ss=@dots{}, u=@dots{}, e=@dots{}) at frame-args.c:23 @end smallexample + +@item presence +Only the presence of arguments is signaled by @code{@dots{}}. +The @dots{} are not printed for function without any arguments. +None of the argument names and values are printed. +In this case, the example above now becomes: + +@smallexample +#1 0x08048361 in call_me (@dots{}) at frame-args.c:23 +@end smallexample + @end table By default, only scalar arguments are printed. This command can be used @@ -10556,6 +10570,43 @@ entry resolution see @ref{set debug entry-values}. Show the method being used for printing of frame argument values at function entry. +@item set print frame-info @var{value} +@kindex set print frame-info +@cindex printing frame information +@cindex frame information, printing +This command allows to control the information printed when +the debugger prints a frame. See @ref{Frames} and @ref{Backtrace} +for a general explanation about frames and frame information. +Note that some other settings (such as @code{set print frame-arguments} +and @code{set print address}) are also influencing if and how some frame +information is displayed. In particular, the frame program counter is never +printed if @code{set print address} is off. + +The possible values for @code{set print frame-info} are: +@table @code +@item short_loc +Print the frame level, the program counter if not at the +beginning of the location source line, the function, the function +arguments. +@item location +Same as @code{short_loc} but also print the source file and source line +number. +@item loc_and_address +Same as @code{location} but print the program counter even if located at the +beginning of the location source line. +@item src_line +Print the program counter if not at the beginning of the location +source line, the line number and the source line. +@item src_and_loc +Print what @code{location} and @code{src_line} are printing. +@item auto +The information printed for a frame is decided automatically +by the @value{GDBN} command that prints a frame. +For example, @code{frame} prints the information printed by +@code{src_and_loc} while @code{stepi} will switch between +@code{src_line} and @code{src_and_loc} depending on the program counter. +@end table + @item set print repeats @var{number-of-repeats} @itemx set print repeats unlimited @cindex repeated array elements