diff --git a/scripts/linux_debug.pl b/scripts/linux_debug.pl new file mode 100755 index 00000000..0b5ecfea --- /dev/null +++ b/scripts/linux_debug.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +use strict; + +my $i; my $findResult; +my $exe = "fceux"; + +$findResult = `find . -name fceux`; + +if ( $findResult ne "") +{ + $findResult =~ s/\n.*//; + $exe=$findResult; +} +print "Executable: $exe\n"; + +my $gdbCmdFile = "/tmp/gdbCmdFile"; +open CMD_FILE, ">$gdbCmdFile" or die "Error: Could not open file: $gdbCmdFile\n"; +print CMD_FILE "run\n"; +print CMD_FILE "backtrace\n"; +close(CMD_FILE); + +system("gdb -x $gdbCmdFile $exe"); + diff --git a/src/types.h b/src/types.h index 61ab0bfa..3c8f751e 100644 --- a/src/types.h +++ b/src/types.h @@ -160,6 +160,7 @@ typedef uint8 (*readfunc)(uint32 A); #endif #define FCEU_UNUSED(x) (void)(x) +#define FCEU_CRASH() int *_dumbPointer = nullptr; *_dumbPointer = 0xdeadbeef #if FCEU_CPP_HAS_STD(201603L) || FCEU_HAS_CPP_ATTRIBUTE(maybe_unused) #define FCEU_MAYBE_UNUSED [[maybe_unused]]