# connect gdb to Valgrind gdbserver:
target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcsignopass
echo vgdb launched process attached\n
monitor v.set vgdb-error 999999
#
# instruct gdb to not pass (i.e. ignore) these signals.
#
# Trap the below signals, we make them stop and then continue.
# For SIGSEGV, we make it continue a few times, till we pass it.
handle SIGSEGV nopass print stop
handle SIGBUS  pass print stop
handle SIGFPE  pass print stop
#
continue
#
# SIGTRAP : caused by invalid write error detected by memcheck
continue
#
# SIGSEGV can't be ignored, so it is re-signaled. We continue many times
# to be sure it is this signal which is re-signalled. Then will pass it.
continue
continue
continue
continue
continue
continue
continue
continue
continue
#
# Change handling so that we just see the 2nd SIGSEGV
handle SIGSEGV pass print nostop
continue
#
# SIGBUS will be shown and passed:
continue
#
# then SIGFPE is shown and passed:
continue
#
# program will exit
quit