程序运行遇到core dumped
崩溃是常见现象,有时候,我们希望程序在崩溃的时候,先做点其他操作再崩溃,比如记录崩溃时刻的堆栈信息,或是提前释放一些硬件资源等等,那么就需要让程序捕获错误信号
下面是一个捕获SIGSEGV
信号的简单例子。
SIGSEGV
信号是最常见的core dumped
信号,主要由访问空指针、内存访问越界、访问已释放的内存等原因导致
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>static void signal_handler(int sig) {printf("core dumped...\n");/*// to do something*/exit(-1);
}
int main() {signal(SIGSEGV, signal_handler);int *p = nullptr;*p = 1;return 0;
}