Não tenho certeza de como você despeja toda a memória em um arquivo sem fazer isso repetidamente (se alguém souber uma forma automatizada de obter o gdb para fazer isso, avise-me), mas o seguinte funciona para qualquer lote de memória supondo que você conhece o pid:
$ cat /proc/[pid]/maps
Isso estará no formato (exemplo):
00400000-00421000 r-xp 00000000 08:01 592398 /usr/libexec/dovecot/pop3-login
00621000-00622000 rw-p 00021000 08:01 592398 /usr/libexec/dovecot/pop3-login
00622000-0066a000 rw-p 00622000 00:00 0 [heap]
3e73200000-3e7321c000 r-xp 00000000 08:01 229378 /lib64/ld-2.5.so
3e7341b000-3e7341c000 r--p 0001b000 08:01 229378 /lib64/ld-2.5.so
Escolha um lote de memória (por exemplo, 00621000-00622000) e use o gdb como root para anexar ao processo e despejar essa memória:
$ gdb --pid [pid]
(gdb) dump memory /root/output 0x00621000 0x00622000
Em seguida, analise / root / output com o comando strings, menos você quer o PuTTY em toda a tela.