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效果相同 |
-
signal 6 - SIGABRT
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);
- signal 11 - SIGSEGV
1. 參考空指標成員
struct Hello *p = NULL; printf("%d\n", p->a);
2. fclose 空指標
// fclose 內部參考 FILE 成員 FILE *fp = NULL; fclose(fp);
跟參考空指標成員一致,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/227215.html
標籤:C
