blob: 3cf871cd65d48ff78a529f328bf8f2e89a61a757 [file] [log] [blame]
philippe6654de82014-04-15 22:35:23 +00001# connect gdb to Valgrind gdbserver:
2target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-nlvgdbsigqueue
3echo vgdb launched process attached\n
4monitor v.set vgdb-error 999999
5#
6#
philippe41d31112014-04-26 20:01:28 +00007# simulate control-c 1 second after having seen sleepers program outputting 'main'
philippe6654de82014-04-15 22:35:23 +00008shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlvgdbsigqueue 1 grep main nlvgdbsigqueue.stderr.out
9#
philippe41d31112014-04-26 20:01:28 +000010# send SIGUSR1/SIGUSR1 in a few seconds, after vgdb has attached
11# vgdb will attach when it will receive the control-c
philippe6f3f8592014-04-26 20:23:47 +000012shell ./send_signal USR1 --vgdb-prefix=./vgdb-prefix-nlvgdbsigqueue 0 grep attachedwaitingforsigusr1 nlvgdbsigqueue.stdoutB.out
philippec16b2a12014-04-27 08:23:17 +000013shell ./send_signal USR1 --vgdb-prefix=./vgdb-prefix-nlvgdbsigqueue 1 grep attachedwaitingforsigusr1 nlvgdbsigqueue.stdoutB.out
philippe6654de82014-04-15 22:35:23 +000014#
15echo continuing to have vgdb interrupted by simulate_control_c\n
16continue
17#
18# Now vgdb should have received the interrupt, and so has
19# attached to the sleeping process.
20# wait for the USR sig to be sent, that will be queued by vgdb.
philippe6f3f8592014-04-26 20:23:47 +000021echo attachedwaitingforsigusr1\n
22# send_signal tries every second the guardcmd
23# so we must now wait to be (somewhat) sure the 2 SIGUSR1 are emitted
philippec16b2a12014-04-27 08:23:17 +000024shell sleep 4
philippe6654de82014-04-15 22:35:23 +000025# continue, so as to have vgdb sending queued signals when PTRACE_DETACHing
26echo continuing to receive first SIGUSR1\n
27continue
28# simulate a control c to afterwards stop the execution
29shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlvgdbsigqueue 1
30echo continuing to receive second SIGUSR1\n
31continue
32kill
33quit