relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
Breakpoint 1 at 0x........: file sleepers.c, line 72.
Continuing.
[New Thread ....]
Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:72
72	   int i = 0;
Continuing.
[New Thread ....]
Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:72
72	   int i = 0;
Continuing.
[New Thread ....]
Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:72
72	   int i = 0;
Continuing.
Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:72
72	   int i = 0;
Continuing.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x........ in do_burn () at sleepers.c:39
39	   for (i = 0; i < burn; i++) loopnr++;
[Switching to thread 1 (Thread ....)]
#0  0x........ in do_burn () at sleepers.c:39
39	   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
