CORE DUMP原因 2020-11-24
链接:https://blog.csdn.net/lixiaogang_theanswer/article/details/80301624
https://www.cnblogs.com/kex1n/p/6972046.html
信号 | 起源 | 默认行为 | 含义 |
SIGHUP |
POSIX |
Term |
控制终端挂起 |
SIGINT |
ANSI |
Term |
键盘输入以终端进程(ctrl + C) |
SIGQUIT |
POSIX |
Core |
键盘输入使进程退出(Ctrl + \) |
SIGILL |
ANSI |
Core |
非法指令 |
SIGTRAP |
POSIX |
Core |
断点陷阱,用于调试 |
SIGABRT |
ANSI |
Core |
进程调用abort函数时生成该信号 |
SIGIOT |
4.2BSD |
Core |
和SIGABRT相同 |
SIGBUS |
4.2BSD |
Core |
总线错误,错误内存访问 |
SIGFPE |
ANSI |
Core |
浮点异常 |
SIGKILL |
POSIX |
Term |
终止一个进程。该信号不可被捕获或被忽略 |
SIGUSR1 |
POSIX |
Term |
用户自定义信号之一 |
SIGSEGV |
ANSI |
Core |
非法内存段使用 |
SIGUSR2 |
POSIX |
Term |
用户自定义信号二 |
SIGPIPE |
POSIX |
Term |
往读端关闭的管道或socket链接中写数据 |
SIGALRM |
POSIX |
Term |
由alarm或settimer设置的实时闹钟超时引起 |
SIGTERM |
ANSI |
Term |
终止进程。kill命令默认发生的信号就是SIGTERM |
SIGSTKFLT |
Linux |
Term |
早期的Linux使用该信号来报告数学协处理器栈错误 |
SIGCLD |
System V |
Ign |
和SIGCHLD相同 |
SIGCHLD |
POSIX |
Ign |
子进程状态发生变化(退出或暂停) |
SIGCONT |
POSIX |
Cont |
启动被暂停的进程(Ctrl+Q)。如果目标进程未处于暂停状态,则信号被忽略 |
SIGSTOP |
POSIX |
Stop |
暂停进程(Ctrl+S)。该信号不可被捕捉或被忽略 |
SIGTSTP |
POSIX |
Stop |
挂起进程(Ctrl+Z) |
SIGTTIN |
POSIX |
Stop |
后台进程试图从终端读取输入 |
SIGTTOU |
POSIX |
Stop |
后台进程试图往终端输出内容 |
SIGURG |
4.3 BSD |
Ign |
socket连接上接收到紧急数据 |
SIGXCPU |
4.2 BSD |
Core |
进程的CPU使用时间超过其软限制 |
SIGXFSZ |
4.2 BSD |
Core |
文件尺寸超过其软限制 |
SIGVTALRM |
4.2 BSD |
Term |
与SIGALRM类似,不过它只统计本进程用户空间代码的运行时间 |
SIGPROF |
4.2 BSD |
Term |
与SIGALRM 类似,它同时统计用户代码和内核的运行时间 |
SIGWINCH |
4.3 BSD |
Ign |
终端窗口大小发生变化 |
SIGPOLL |
System V |
Term |
与SIGIO类似 |
SIGIO |
4.2 BSD |
Term |
IO就绪,比如socket上发生可读、可写事件。因为TCP服务器可触发SIGIO的条件很多,故而SIGIO无法在TCP服务器中用。SIGIO信号可用在UDP服务器中,但也很少见 |
SIGPWR |
System V |
Term |
对于UPS的系统,当电池电量过低时,SIGPWR信号被触发 |
SIGSYS |
POSIX |
Core |
非法系统调用 |
SIGUNUSED |
|
Core |
保留,通常和SIGSYS效果相同 |
1. free多次
char *p = malloc(100);
free(p);
free(p);
2. fclose 多次
// fclose 内部调用 free
FILE *fp = fopen("test.txt", "wb+");
printf("%p\n", fp);
fclose(fp);
printf("%p\n", fp);
fclose(fp);
printf("%p\n", fp);
1. 引用空指针成员
struct Hello *p = NULL;
printf("%d\n", p->a);
2. fclose 空指针
// fclose 内部引用 FILE 成员
FILE *fp = NULL;
fclose(fp);
跟引用空指针成员一致。
|