Sometimes it may already be helpful to capture a translator's stdout and stderr, for example in this situation where pfinet was silently dying all the time, without any console output:

$ sudo settrans -fgap ↩
  /servers/socket/2 ↩
  /bin/sh -c 'exec >> /root/pfinet.log 2>&1 && date && ↩
    /hurd/pfinet -i /dev/eth0 -a [...]'
$ [...]
$ cat /root/pfinet.log
[date]
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
TCP: Hash tables configured (ehash 65536 bhash 65536)
pfinet: ../../hurd.work/pfinet/ethernet.c:196: ethernet_xmit: Unexpected error: (os/device) invalid IO size.

(Trying to run GDB in this case was of no help -- due to a bug in GDB (supposedly) it wouldn't catch the fault.)

Be made aware that both stdout and stderr will be block bufferend and no longer line buffered when doing such a redirection, so you'll have to arrange for appropriate fflushes on these, or force them to be line buffered again using the appropriate glibc magic (setvbuf). Otherwise you'll see text in the output files only if either glibc herself decides to flush (after some KiB of text) the after translator exits.

There is also a related open issue.