I've just run into this: (gdb) target remote | foobar (gdb) error starting child process ' foobar': CreateProcess: No such file or directory Note the leading space before 'foobar' in the error message. That might suggest that space between "|" and program name is the problem while it's not. This patch fixes the error message. OK? - Volodya * serial.c (serial_open): Strip leading spaces from program name when opening pipe.