mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-10 01:16:12 +00:00
43 lines
994 B
Plaintext
43 lines
994 B
Plaintext
# 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
|