From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org, tromey@redhat.com
Subject: Re: RFA: fix CLI/9591 (pagination and --batch)
Date: Fri, 05 Mar 2010 20:51:00 -0000 [thread overview]
Message-ID: <201003052050.51865.pedro@codesourcery.com> (raw)
In-Reply-To: <m3k4tqv8w0.fsf@fleche.redhat.com>
On Friday 05 March 2010 19:57:51, Tom Tromey wrote:
> This needs a doc review.
>
> This patch disables pagination when --batch is given. As discussed on
> this list earlier, the current situation is strange; pagination only
> really makes sense interactively.
Should queries be left enabled as well? Here's one example, but
all queries wait for input:
>./gdb --batch -ex "b main" -ex "run" -ex "q" --args ./gdb ./gdb
[Thread debugging using libthread_db enabled]
Breakpoint 3, main (argc=
During symbol reading, incomplete CFI data; unspecified registers (e.g., rax) at 0x456698.
2, argv=0x7fffffffe148) at ../../src/gdb/gdb.c:28
28 memset (&args, 0, sizeof args);
A debugging session is active.
Inferior 1 [process 2415] will be killed.
Quit anyway? (y or n)
<waits for input>
IMO, pagination is a kind of query.
>
> Built and regtested on x86-64 (compile farm).
>
> Tom
>
> 2010-03-05 Tom Tromey <tromey@redhat.com>
>
> PR cli/9591:
> * utils.c: Include main.h.
> (fputs_maybe_filtered): Don't pagination if `batch'.
> * main.h (batch): Declare.
> * main.c (batch): New global.
> (captured_main): Remove 'batch'.
>
> 2010-03-05 Tom Tromey <tromey@redhat.com>
>
> PR cli/9591:
> * gdb.texinfo (Mode Options): Mention lack of pagination with
> --batch.
>
> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
> index 6bb7d52..69765fd 100644
> --- a/gdb/doc/gdb.texinfo
> +++ b/gdb/doc/gdb.texinfo
> @@ -1028,7 +1028,8 @@ Run in batch mode. Exit with status @code{0} after processing all the
> command files specified with @samp{-x} (and all commands from
> initialization files, if not inhibited with @samp{-n}). Exit with
> nonzero status if an error occurs in executing the @value{GDBN} commands
> -in the command files.
> +in the command files. Batch mode also disables pagination;
> +@pxref{Screen Size}.
>
> Batch mode may be useful for running @value{GDBN} as a filter, for
> example to download and run a program on another computer; in order to
> diff --git a/gdb/main.c b/gdb/main.c
> index e261348..e9f852e 100644
> --- a/gdb/main.c
> +++ b/gdb/main.c
> @@ -76,6 +76,9 @@ struct ui_file *gdb_stdtargin;
> struct ui_file *gdb_stdtarg;
> struct ui_file *gdb_stdtargerr;
>
> +/* True if --batch or --batch-silent was seen. */
> +int batch = 0;
> +
> /* Support for the --batch-silent option. */
> int batch_silent = 0;
>
> @@ -247,7 +250,6 @@ captured_main (void *data)
> int argc = context->argc;
> char **argv = context->argv;
> static int quiet = 0;
> - static int batch = 0;
> static int set_args = 0;
>
> /* Pointers to various arguments from command line. */
> diff --git a/gdb/main.h b/gdb/main.h
> index 5e45724..d94903c 100644
> --- a/gdb/main.h
> +++ b/gdb/main.h
> @@ -34,5 +34,6 @@ extern int gdb_main (struct captured_main_args *);
> extern int return_child_result;
> extern int return_child_result_value;
> extern int batch_silent;
> +extern int batch;
>
> #endif
> diff --git a/gdb/utils.c b/gdb/utils.c
> index 52596ca..deab50d 100644
> --- a/gdb/utils.c
> +++ b/gdb/utils.c
> @@ -58,6 +58,7 @@
> #include "gdb_obstack.h"
> #include "gdbcore.h"
> #include "top.h"
> +#include "main.h"
>
> #include "inferior.h" /* for signed_pointer_to_address */
>
> @@ -2209,7 +2210,7 @@ fputs_maybe_filtered (const char *linebuffer, struct ui_file *stream,
> return;
>
> /* Don't do any filtering if it is disabled. */
> - if ((stream != gdb_stdout) || !pagination_enabled
> + if ((stream != gdb_stdout) || !pagination_enabled || batch
> || (lines_per_page == UINT_MAX && chars_per_line == UINT_MAX))
> {
> fputs_unfiltered (linebuffer, stream);
>
--
Pedro Alves
next prev parent reply other threads:[~2010-03-05 20:51 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-05 19:58 Tom Tromey
2010-03-05 20:51 ` Pedro Alves [this message]
2010-03-05 22:24 ` Tom Tromey
2010-03-05 23:45 ` Pedro Alves
2010-03-06 4:10 ` Joel Brobecker
2010-03-06 9:32 ` Eli Zaretskii
2010-03-06 9:14 ` Eli Zaretskii
2010-03-08 17:46 ` Tom Tromey
2010-03-08 18:13 ` Eli Zaretskii
2010-03-08 18:47 ` Tom Tromey
2010-03-08 19:11 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201003052050.51865.pedro@codesourcery.com \
--to=pedro@codesourcery.com \
--cc=gdb-patches@sourceware.org \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox