how to redirect output of sub program in target extended-remote
Amker.Cheng
amker.cheng@gmail.com
Mon Apr 18 10:21:00 GMT 2011
On Sun, Apr 17, 2011 at 11:38 PM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> On Sun, 17 Apr 2011 16:09:39 +0200, Amker.Cheng wrote:
>> I wonder whether '2' in your command stands for stderr as in shell command
>> line?
>
> Yes.
>
>
>> when I typed following command:
>> (gdb) target extended-remote | stub_program 1>/tmp/file
>> the GDB always failed the connect with message:
>> Ignoring packet error, continuing...
>> warning: unrecognized item "timeout" in "qSupported" response
>
> $ info '(gdb)Connecting'
> `target remote | COMMAND'
> it should expect remote protocol packets on its standard input, and
> send replies on its standard output.
>
> Therefore 1>/tmp/file is the same as >/tmp/file and this way no gdbserver
> packets can be received by GDB.
>
>
>> while your command ran successfully.
>
> STDERR (2) is not used for gdbserver communication, only STDIN (0)
> and STDOUT (1).
>
> If stub_program outputs anything to stdout on its own it (a) cannot be visible
> on the screen and (b) it is corrupting the gdbserver protocol although the
> gdbserver protocol is resistant against such extraneous data.
>
>
>> I did not understand the pipe in gdb command line well and did not
>> find any doc on it. So could you point out some doc and let me learn
>> it.
>
> This is normal shell processing, see `man bash'.
Thanks Jan.
--
Best Regards.
More information about the Gdb
mailing list