Files
SDL/test/unix/gdbcmds.txt

37 lines
830 B
Plaintext

# Script to run a headless gdb printing a stacktrace on a fatal signal
# Use it as: `gdb -batch -nx -x gdbcmds.txt --args $PROGRAM_AND_ARGS`
# Configure CMake with -DSDLTEST_GDB=ON to use with within CTest.
set pagination off
set confirm off
set verbose off
# Only stop on real crash signals
handle SIGSEGV stop print nopass
handle SIGABRT stop print nopass
handle SIGILL stop print nopass
handle SIGFPE stop print nopass
handle SIGBUS stop print nopass
# Ignore SIGPIPE and SIGTERM signals
# (SIGTERM is used by testthread)
handle SIGPIPE nostop noprint pass
handle SIGTERM nostop noprint pass
define hook-stop
if !$_isvoid($_siginfo)
printf "\n=== Crash detected (signal %d) ===\n", $_siginfo.si_signo
bt full
quit 1
end
end
run
# Normal exit path
if !$_isvoid($_exitcode)
quit $_exitcode
end
quit 0