relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
general valgrind monitor commands:
  help [debug]             : monitor command help. With debug: + debugging commands
  vg.wait [<ms>]           : sleep <ms> (default 0) then continue
  vg.info all_errors       : show all errors found so far
  vg.info last_error       : show last error found
  vg.info n_errs_found     : show the nr of errors found so far
  vg.kill                  : kill the Valgrind process
  vg.set gdb_output        : set valgrind output to gdb
  vg.set log_output        : set valgrind output to log
  vg.set mixed_output      : set valgrind output to log, interactive output to gdb
  vg.set vgdb-error <errornr> : debug me at error >= <errornr> 

massif monitor commands:
  ms.snapshot [<filename>] [detailed]
       takes a snapshot and saves it in <filename>
             default <filename> is massif.vgdb.out
             if present, detailed argument indicates to take a detailed snapshot

monitor command request to kill this process
Remote connection closed
