By default, GDB output will go to both the terminal and the logfile. Set redirect if you want output to go only to the log file. By default, GDB debug output will go to both the terminal and the logfile. Set debugredirect if you want debug output to go only to the log file.
You can optionally have gdb pass any arguments after the executable file to the inferior using --args . This option stops option processing. This will cause gdb to debug gcc , and to set gcc 's command-line arguments (see Arguments) to ` -O2 -c foo.
~$ gdb <executable>
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/abhishek/maxtest...done.
(gdb) run < input.txt
This is doing the trick for me. Wondering if this was what you were looking for.
Try running your application from within gdb?
(gdb) file /usr/bin/head
Reading symbols from /usr/bin/head...(no debugging symbols found)...done.
(gdb) run -2 < /etc/passwd
Starting program: /usr/bin/head -2 < /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
Program exited normally.
(gdb)
EDIT: Alternatively:
gdb -q -ex 'set args -2 < /etc/passwd' /usr/bin/head
Reading symbols from /usr/bin/head...done.
(gdb) run
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
Program exited normally.
(gdb) quit
You can try this.
(gdb) run < input.txt
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With