This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH


Just a quick thought. How if we can do something like this:

(gdb) gdb_command_with_arguments |  "shell_command_with_argument"

Since pipe (|) as c operator will never expect any rvalue within
string, we are safe. We just have to ensure that odd number of
double-quote (") not present before (left-side of) the pipe to
safe-guard a case like below.

(gdb) p "Hi | Bye"

Further, the shell command may itself contain double-quote. We have to
allow nested double-quote.

(gdb) thread apply all bt | " grep "foobar" "


On Wed, Jul 13, 2011 at 2:00 AM, Mike Frysinger <vapier@gentoo.org> wrote:
> On Tue, Jul 12, 2011 at 15:25, Tom Tromey wrote:
>>>>>>> "Abhijit" == Abhijit Halder writes:
>> Abhijit> How if we just put a condition check whether the entered string after
>> Abhijit> pipe (|) is numeric. [...]
>>
>> I was too terse yesterday. ?The big problem with any generic approach is
>> that GDB syntax is free-form: each command defines its own syntax. ?So,
>> for any syntax you think up, there is a decent chance that it already
>> means something to some command, or could.
>>
>> This doesn't mean it is impossible, just difficult.
>
> i was also pondering reversing the order. ?rather than being a suffix
> that gets mucked up in syntax, add a pass through. ?but that too can
> get ugly.
>
> pipe <command to pipe into> <normal command> <command args>
> (gdb) pipe "vim -" thread apply all bt
>
>> We already have "set logging". ?This isn't as convenient to use, but it
>> could certainly be extended to allow pipes.
>
> when i thought of a secondary command, i think half the power of what
> Abhijit proposes is having it in a single command. ?especially when
> shell scripting is all about slightly tweaking the command and looking
> at the result. ?that way you dont keep flipping between the two -- one
> to update the command to pipe into, and two to update the stuff you're
> piping out.
> -mike
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]