我无法让gdb将文件重定向到我程序的标准输入。
gdb之外./prog.x < someinput.txt
完全符合我的要求。
在gdb内部,当我运行(gdb) run < someinput.txt
时,我的程序似乎没有&#34;看到&#34;输入文件,而stdin似乎正在读取我在控制台中键入的内容。
(gdb) run < testinput.txt
Starting program: /Users/alexpatch/Documents/krc/misc/sandbox.x < testinput.txt
[New Thread 0x1603 of process 8308]
我的光标出现在其下方的空白行,我可以在其中输入一些文字。 C-d突破了,然后程序的输出与我刚输入的内容一起运行,并且该过程正常退出。
/* trivial code example */
#include <stdio.h>
int main(void)
{
int c;
while ((c = getchar()) != EOF)
putchar(c);
return 0;
}
我找到了一些与类似问题相关的答案,但似乎对他们有效的解决方案就是我已经在做的事情,即(gdb) run < someinput.txt
。如果它有用,我正在使用运行macOS Sierra的64位MacBook Air。