Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Abhijit Halder <abhijit.k.halder@gmail.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] An implementation of pipe to make I/O communication between gdb and shell.
Date: Tue, 02 Aug 2011 08:52:00 -0000	[thread overview]
Message-ID: <CAOhZP9x7B+GNEkq7BB0L1psHzonmPdya14hvThDRpWwDNQAfdA@mail.gmail.com> (raw)
In-Reply-To: <20110802065411.GA23915@host1.jankratochvil.net>

On Tue, Aug 2, 2011 at 12:24 PM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> On Fri, 29 Jul 2011 15:35:10 +0200, Abhijit Halder wrote:
> On Fri, Jul 29, 2011 at 6:45 PM, Abhijit Halder <abhijit.k.halder@gmail.com> wrote:
>> This is the implementation of a new gdb command, named 'pipe', to make
>> ease of I/O communication between gdb and shell.
>> The syntax of this command is shown as follows:
>> (gdb) pipe [option] <dlim> gdb-cmd <dlim> shell-cmd
>> List of options go with pipe command:
>>  -r   gdb reads output of shell-command from pipe
>>  -w  gdb passes output of a command to shell to process.
>
> When is useful to feed input of a GDB command from some file/process?
> It is IMO useful only for `run' but that will not work this way.
>
Yes. I made this option (-r) available just to make the code
futuristic. To feed input to `run' command, we still need to make
changes in the `run' command interface itself.
>
>>  -    end of gdb option list
>> dlim (delimiter) is a single ASCII character from the set below:
>> {|/\'"`#@!$%^} (We actually can remove this restriction).
>
> I would prefer first to agree on the proper syntax.  I do not find
>
> (gdb) pipe | print 1 | less
>
> to be something a new user will ever try whether it does not work.
>
Can't we introduce a new command and make the user educated to use
that (using documentation and all)? Introducing a new command instead
of using some meta-character (like '|') will give us more flexibility
and that will be ease of maintenance. At the same time this will be
more futuristic.
Pedro Alves mentioned in a similar line: "I think I like this better
than comming up with some syntax that we need to make sure works not
just with C, but all supported languages.  (and hope no future
supported language adds a conflict)." I also do think that the
introduction of a new command will be a better approach.
> The original idea of:
>
> (gdb) print 1 | less
>
> looks fine to me as in normal cases one never uses `|' in the GDB commands.
> Still for example for the `echo' GDB command one may use `|' as both the
> `echo' argument and also one may want to pass the output to some shell.
>
We can still support inline pipe (print 1 | less) along with pipe
command. But the question of maintainability will appear.
> If there is pipe `|' GDB could support also redirections '>', '>>', '2>&1',
> '&>', '|&' besides '|' etc.
>
The same can still be very much possible with pipe command in place. For e.g.
(gdb) pipe | thread apply all bt | grep "foobar" 2>&1 | tee myLog.txt

> There could be some disable of the option being enabled by default:
>
> (gdb) set shell-metachars off
>
>
> Thanks,
> Jan
>


  reply	other threads:[~2011-08-02  8:52 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-29 13:59 Abhijit Halder
2011-07-29 15:29 ` Abhijit Halder
2011-08-02  3:52   ` Sergio Durigan Junior
2011-08-02  6:54   ` Jan Kratochvil
2011-08-02  8:52     ` Abhijit Halder [this message]
2011-08-02 15:45       ` Jan Kratochvil
2011-08-02 23:40         ` Sergio Durigan Junior
2011-08-03  7:06           ` Abhijit Halder
2011-08-03 17:46             ` Sergio Durigan Junior
2011-08-04  7:51               ` Abhijit Halder
2011-08-04  8:43                 ` Jan Kratochvil
2011-08-05  8:44                   ` Abhijit Halder
2011-08-04  9:29                 ` Pedro Alves
2011-08-04 14:21                   ` Tom Tromey
2011-08-05 15:05                     ` Abhijit Halder
2011-08-05 15:08                       ` Abhijit Halder
2011-08-05 15:15                       ` Eli Zaretskii
2011-08-05 21:11                         ` Abhijit Halder
2011-08-06  9:58                           ` Abhijit Halder
2011-08-06 22:21                             ` Sergio Durigan Junior
2011-08-08 10:01                               ` Abhijit Halder
2011-08-08 11:15                                 ` Abhijit Halder
2011-08-09  3:03                                 ` Sergio Durigan Junior
2011-08-09 10:42                                   ` Abhijit Halder
2011-08-10 17:54                                     ` Sergio Durigan Junior
2011-08-11  2:51                                       ` Abhijit Halder
2011-08-11 17:44                                         ` Sergio Durigan Junior
2011-08-13 20:51                                     ` Jan Kratochvil
2011-08-13 23:17                                       ` Abhijit Halder
2011-08-13 23:18                                         ` Abhijit Halder
2011-08-14 12:14                                           ` [PATCH] An implementation of pipe to make I/O communication between gdb and shell. [MinGW question] Jan Kratochvil
2011-08-14 14:08                                             ` Eli Zaretskii
2011-08-14 17:02                                               ` Jan Kratochvil
2011-08-14 19:42                                                 ` Eli Zaretskii
2011-08-14 19:55                                                   ` Jan Kratochvil
2011-08-16 12:45                                                     ` Abhijit Halder
2011-08-16 13:38                                                       ` Eli Zaretskii
2011-08-16 14:10                                                         ` Abhijit Halder
2011-08-16 17:25                                                           ` Abhijit Halder
2011-08-16 17:30                                                             ` Jan Kratochvil
2011-08-17  8:26                                                               ` Abhijit Halder
2011-08-20 18:52                                                                 ` Jan Kratochvil
2011-08-20 19:16                                                       ` Jan Kratochvil
2011-08-23  6:26                                                         ` Abhijit Halder
2011-08-05  7:59                   ` [PATCH] An implementation of pipe to make I/O communication between gdb and shell Abhijit Halder
2011-08-05  8:30                     ` Jan Kratochvil
2011-08-05  8:52                       ` Pedro Alves
2011-08-05  9:09                         ` Jan Kratochvil
2011-08-05  9:41                       ` Abhijit Halder
2011-08-05  9:45                         ` Jan Kratochvil
2011-08-05 10:19                           ` Abhijit Halder
2011-08-05  9:57                         ` Pedro Alves
2011-08-05 10:25                           ` Abhijit Halder
2011-08-05 10:33                             ` Abhijit Halder
2011-08-05 10:36                             ` Pedro Alves
2011-08-05 10:51                               ` Abhijit Halder
2011-08-13 17:24                         ` Jan Kratochvil
2011-08-13 18:10                           ` Abhijit Halder
2011-08-13 20:58                             ` Jan Kratochvil

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=CAOhZP9x7B+GNEkq7BB0L1psHzonmPdya14hvThDRpWwDNQAfdA@mail.gmail.com \
    --to=abhijit.k.halder@gmail.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jan.kratochvil@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