You may not always have gdb(1) at hand. Here are a couple of other options
at your disposal.
#1 Use addr2line to get the crash location
$ cat badmem.c
void function_c() { int *i = (int*)0xdeadbeef; *i = 123; } // <-- line 1
void function_b() { function_c(); }
void function_a() { function_b(); }
int main() { function_a(); return 0; }
$ gcc -g badmem.c -o badmem
$ ./badmem
Segmentation fault
No core dump? You can still get some info.
$ tail -n1 /var/log/syslog ... badmem[1171]: segfault at deadbeef ip 00000000004004da sp 00007fff8825dcd0 error 6 in badmem[400000+1000] $ echo 00000000004004da | addr2line -Cfe ./badmem function_c /home/walter/srcelf/bt/badmem ...