Мое приложение представляет собой простой исполняемый файл, используемый из командной строки, и принимает stdin
в качестве ввода и stdout
в качестве вывода, поэтому оно ведет себя подобно многим инструментам GNU.
Чтобы проверить это, я хочу настроить Eclipse CDT DEBUG Configuration для передачи файла в stdin
и еще одного в stdout
.
Я безуспешно попробовал несколько решений, все в DEBUG Configuration
GUI:
- В
Common / Standard Input and Output / Input File:
Я положил inputfile.txt
и в том же разделе Output file:
Я положил outputfile.txt
. Поскольку GUI указывает, что рабочий каталог ${workspace_loc:/myprogram}
, он должен быть в порядке, но когда запускается отладчик, он предупреждает:
[Invalid file specified for console output: test/WittenACM87ArithmCoding-1.txt.coded]
[Invalid file specified for stdin file: test/WittenACM87ArithmCoding-1.txt]
- В
Arguments
я поставил < inputfile.txt > outputfile.txt
, который явно не предназначен для этого
Конечно, оба файла находятся в рабочем каталоге. Все попытки завершаются неудачно в строке кода ch = getc(stdin);
со странным сообщением:
Can't find a source file at "/build/glibc-p3Km7c/glibc-2.24/io/../sysdeps/unix/syscall-template.S"
Locate the file or edit the source lookup path to include its location.
Вот стек:
Thread #1 [myprogram] 31960 [core: 5] (Suspended : Signal : SIGINT:Interrupt)<br>
__read_nocancel() at /build/glibc-p3Km7c/glibc-2.24/io/../sysdeps/unix/syscall-template.S:84 0x7ffff7811700
_IO_new_file_underflow() at /build/glibc-p3Km7c/glibc-2.24/libio/fileops.c:600 0x7ffff77a9a00<br>
__GI__IO_default_uflow() at /build/glibc-p3Km7c/glibc-2.24/libio/genops.c:413 0x7ffff77aab02<br>
_IO_getc() at /build/glibc-p3Km7c/glibc-2.24/libio/getc.c:38 0x7ffff77a54f0
main() at /xxxxxx/src/myprogram.c:20 0x555555554f01
Когда я запускаю приложение прямо в консоли, оно работает:
./myprogram < inputfile.txt > outputfile.txt
Из этого я предполагаю, что Eclipse не удается реализовать перенаправление файлов на stdin
и stdout
, поэтому, очевидно, я делаю это неправильно. Я искал его, но здесь и здесь не предоставляют решения для моего варианта использования.
Итак, чтобы иметь возможность использовать отладчик из Eclipse, как правильно настроить Eclipse DEBUG Configuration
?