如何使用gdb与输入重定向?

时间:2011-01-21 11:19:07

标签: gdb io

在终端,我有

    myapp < myfileinput

但是如果我想使用gdb,

    gdb myapp < myfileinput

它无法正常运行。

如何在这里使用gdb?

4 个答案:

答案 0 :(得分:83)

~$ 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

这对我来说很有用。想知道这是否是你想要的。

答案 1 :(得分:10)

尝试在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)

编辑:或者:

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

答案 2 :(得分:2)

你可以试试这个。

(gdb)运行&lt; input.txt中

答案 3 :(得分:0)

另一个替代方法似乎是:

sender