relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
Breakpoint 1 at 0x........: file sleepers.c, line 74.
Continuing.
Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:74
74	   int i = 0;
Continuing.
Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:74
74	   int i = 0;
Continuing.
Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:74
74	   int i = 0;
Continuing.
Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:74
74	   int i = 0;
Continuing.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x........ in do_burn () at sleepers.c:41
41	   for (i = 0; i < burn; i++) loopnr++;
[Switching to thread 1 (Thread ....)]
#0  0x........ in do_burn ()
41	   for (i = 0; i < burn; i++) loopnr++;
$1 = void
[Switching to thread 2 (Thread ....)]
#0  0x........ in syscall ...
Could not write register  "xxx"; remote failure reply 'E.
ERROR changing register  xxx regno y
gdb commands changing registers (pc, sp, ...) (e.g. 'jump',
set pc, calling from gdb a function in the debugged process, ...)
can only be accepted if the thread is VgTs_Runnable or VgTs_Yielding state
Thread status is VgTs_WaitSys
'
[Switching to thread 3 (Thread ....)]
#0  0x........ in syscall ...
Could not write register  "xxx"; remote failure reply 'E.
ERROR changing register  xxx regno y
gdb commands changing registers (pc, sp, ...) (e.g. 'jump',
set pc, calling from gdb a function in the debugged process, ...)
can only be accepted if the thread is VgTs_Runnable or VgTs_Yielding state
Thread status is VgTs_WaitSys
'
[Switching to thread 4 (Thread ....)]
#0  0x........ in syscall ...
Could not write register  "xxx"; remote failure reply 'E.
ERROR changing register  xxx regno y
gdb commands changing registers (pc, sp, ...) (e.g. 'jump',
set pc, calling from gdb a function in the debugged process, ...)
can only be accepted if the thread is VgTs_Runnable or VgTs_Yielding state
Thread status is VgTs_WaitSys
'
monitor command request to kill this process
Remote connection closed
