core dump分析

CORE DUMP緣由                               2020-11-24html

連接:https://blog.csdn.net/lixiaogang_theanswer/article/details/80301624  服務器

           https://www.cnblogs.com/kex1n/p/6972046.htmlsocket

 

信號 起源 默認行爲 含義
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 屢次spa

// 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 空指針.net

// fclose 內部引用 FILE 成員  
FILE *fp = NULL;  
fclose(fp);  

 

跟引用空指針成員一致。指針

相關文章
相關標籤/搜索