I\'m trying to get gdb to run programs with input redirection to stdin. For example, without gdb I would run a program like this:
prog < input.txt
As far back as the late '90s, broken command line redirection was a known and assumed limitation. My suspicion is that it remains that way, since the mingw32
port of gdb
still gleefully passes on verbatim all run
arguments (including redirects) to the debugee.
Several possible workarounds:
bbadour
's suggestionotherwise, if you have symbols for the debugee (gcc -g
) or you know the address of main()
(gcc -Wl,-Map,mapfile
) and can set a breakpoint there, proceed in the following manner (tested with mingw gdb 6.8.0
):
# gdb debugee.exe
(gdb) b main
(gdb) run non-redirect-arguments-if-any
(gdb) p dup2(open("/tmp/input.txt", 0), 0)
(gdb) c