当我在gdb shell中时,如何将输入作为参数传递?

时间:2015-11-09 05:28:03

标签: c io gdb

这里假设的情况,假设我有以下程序:

prog1.c的

prog2.c

现在,prog1.c首先编译并运行如下:

gcc -Wall prog1.c
./a.exe 20 5 > out

所以现在我有一个名为“out”的输出文件,以二进制形式读取。现在,我需要将文件输入prog2.c,所以我通常会这样做:

gcc -Wall prog2.c
./a.exe 3 2 < out 

这里的问题是我在使用prog2.c时遇到了非常糟糕的问题,我需要使用gdb来调试它。这里的问题是每当我尝试传入out文件时,gdb就不会让我。

Reading symbols from ./a.exe...done.
(gdb) r 3 1 < out
Starting program: /drives/C/Users/XX/XXXXX~1/a.exe 3 1 < out
[New Thread 4632.0x83c]
[New Thread 4632.0x1f40]
Usage: prog2 sort-field [sort-type]

[Inferior 1 (process 4632) exited with code 01]
每当我尝试传入out文件并且给我Inferior 1(进程4632)错误时,gdb似乎一直停止。有没有办法可以正确传递这个?我尝试使用set args并且它不起作用(或者我做错了)。

由于

0 个答案:

没有答案