1 # connect gdb to Valgrind gdbserver: 2 target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcsignopass 3 echo vgdb launched process attached\n 4 monitor v.set vgdb-error 999999 5 # 6 # instruct gdb to not pass (i.e. ignore) these signals. 7 # 8 # Trap the below signals, we make them stop and then continue. 9 # For SIGSEGV, we make it continue a few times, till we pass it. 10 handle SIGSEGV nopass print stop 11 handle SIGBUS pass print stop 12 handle SIGFPE pass print stop 13 # 14 continue 15 # 16 # SIGTRAP : caused by invalid write error detected by memcheck 17 continue 18 # 19 # SIGSEGV can't be ignored, so it is re-signaled. We continue many times 20 # to be sure it is this signal which is re-signalled. Then will pass it. 21 continue 22 continue 23 continue 24 continue 25 continue 26 continue 27 continue 28 continue 29 continue 30 # 31 # Change handling so that we just see the 2nd SIGSEGV 32 handle SIGSEGV pass print nostop 33 continue 34 # 35 # SIGBUS will be shown and passed: 36 continue 37 # 38 # then SIGFPE is shown and passed: 39 continue 40 # 41 # program will exit 42 quit 43