Passing data to a shell'ed command
Eli Zaretskii
eliz@is.elta.co.il
Tue Jul 3 23:56:00 GMT 2001
On Tue, 3 Jul 2001, Shawn McCarney wrote:
> I need to create a user-defined command that reads some memory and then
> passes it a formatting program. I am assuming the formatting program would
> be run via the 'shell' command'. Is there any way to do this?
>
> Below is a list of the things that I have thought of. None of them seem to
> be possible:
>
> * Writing the command output to a file (this is my preferred approach)
> * Passing output as stdin to a child process
> * Setting an environment variable which contains the output
> * Passing output as command line parameters to a child process
I'd suggest
* add a special function to the debuggee which will accept the
command line for the formatting program, and then run that
program. Then use the GDB `call' command to invoke that function
from GDB.
> Another possible solution would be to call C runtime I/O functions as part
> an expression in a 'set' command. However, these functions would be
> running on the target, not the gdb host machine right?
Ah, you are debugging a remote target? Than my suggestion won't work
for you.
Sounds like a good reason for extending `shell', or maybe a new
command.
More information about the Gdb
mailing list