앞서 core 파일을 분석하는 dbx툴에 대해서 정리한 적이 있다.
이 core파일이 언제 생성이 되느냐!
프로그램이 수행되면서 맞는 예외 상황에 대해서 SIGNAL이라는 이름에 번호를 붙여서 정의를 해 놓은게 있는데,
그 예외 상황이 발생하면서 SIGNAL [번호]를 나타내며 프로세스가 죽으면서 core가 생성되게 된다.
+core파일이 생성되도록 설정하거나 기능을 끌수도 있다.
ulimit -c =>이 명령어로 해당 OS에서 core파일 생성 크기를 얼마로 제한해두었는지 볼수 있다.
해당 코어를 dbx나 gdb로 분석하다가 보면 SIGNAL하고 번호가 나오게 되는데 이 때의 Sig번호들을 정리를 해 본다.
SIGNAL | ID | DEFAULT | DESCRIPTION |
---|---|---|---|
SGHUP | 1 | Termin | Hang up on controlling terminal |
SIGINT | 2 | Termin | Interrupt. Generated when we enter CNRTL-C and it is delivered to all processes/threads associated to the current terminal. If generated with kill, it is delivered to only one process/thread. |
SIGQUIT | 3 | Core | Generated when at terminal we enter CNRTL-\ |
SIGILL | 4 | Core | Generated when we executed an illegal instruction |
SIGTRAP | 5 | Core | Trace trap (not reset when caught) |
SIGABRT | 6 | Core | Generated by the abort function |
SIGFPE | 8 | Core | Flating Point error |
SIGKILL | 9 | Termin | Termination (can't catch, block, ignore) |
SIGBUS | 10 | Core | Generated in case of hardware fault |
SIGSEGV | 11 | Core | Generated in case of illegal address |
SIGSYS | 12 | Core | Generated when we use a bad argument in a system service call |
SIGPIPE | 13 | Termin | Generated when writing to a pipe or a socket while no process is reading at other end |
SIGALRM | 14 | Termin | Generated by clock when alarm expires |
SIGTERM | 15 | Termin | Software termination signal |
SIGURG | 16 | Ignore | Urgent condition on IO channel |
SIGCHLD | 20 | Ignore | A child process has terminated or stopped |
SIGTTIN | 21 | Stop | Generated when a background process reads from terminal |
SIGTTOUT | 22 | Stop | Generated when a background process writes to terminal |
SIGXCPU | 24 | Discard | CPU time has expired |
SIGUSR1 | 30 | Termin | User defined signal 1 |
SIGUSR2 | 31 | Termin | User defined signal 2 |
어떤 에러인지를 알면 그나마 에러를 찾는데 어느 부분인가에 대한 문제인지를 알게되어 좁혀 나갈수 있어 좋다
'Server > UNIX & Linux' 카테고리의 다른 글
[AIX] '//' C에서 사용하는 한줄 주석 인식하게 하기 (0) | 2018.08.10 |
---|---|
네트워크 상태(network status)의 의미 (0) | 2018.08.06 |
쉘 및 C언어에서 글자색 넣기 (0) | 2018.08.01 |
dbx 사용법 (0) | 2018.07.31 |
lsof 사용법 (0) | 2018.07.30 |