앞서 core 파일을 분석하는 dbx툴에 대해서 정리한 적이 있다.


 이전글 : 2018/07/31 - [Server/UNIX & Linux] - dbx 사용법



이 core파일이 언제 생성이 되느냐!

 프로그램이 수행되면서 맞는 예외 상황에 대해서 SIGNAL이라는 이름에 번호를 붙여서 정의를 해 놓은게 있는데,

그 예외 상황이 발생하면서 SIGNAL [번호]를 나타내며 프로세스가 죽으면서 core가 생성되게 된다.

 

     +core파일이 생성되도록 설정하거나 기능을 끌수도 있다.

       ulimit -c  =>이 명령어로 해당 OS에서 core파일 생성 크기를 얼마로 제한해두었는지 볼수 있다.

 

해당 코어를 dbx나 gdb로 분석하다가 보면 SIGNAL하고 번호가 나오게 되는데 이 때의 Sig번호들을 정리를 해 본다.

 

SIG 정리
SIGNALIDDEFAULTDESCRIPTION
SGHUP1TerminHang up on controlling terminal
SIGINT2TerminInterrupt. 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.
SIGQUIT3CoreGenerated when at terminal we enter CNRTL-\
SIGILL4CoreGenerated when we executed an illegal instruction
SIGTRAP5CoreTrace trap (not reset when caught)
SIGABRT6CoreGenerated by the abort function
SIGFPE8CoreFlating Point error
SIGKILL9TerminTermination (can't catch, block, ignore)
SIGBUS10CoreGenerated in case of hardware fault
SIGSEGV11CoreGenerated in case of illegal address
SIGSYS12CoreGenerated when we use a bad argument in a system service call
SIGPIPE13TerminGenerated when writing to a pipe or a socket while no process is reading at other end
SIGALRM14TerminGenerated by clock when alarm expires
SIGTERM15TerminSoftware termination signal
SIGURG16IgnoreUrgent condition on IO channel
SIGCHLD20IgnoreA child process has terminated or stopped
SIGTTIN21StopGenerated when a background process reads from terminal
SIGTTOUT22StopGenerated when a background process writes to terminal
SIGXCPU24DiscardCPU time has expired
SIGUSR130TerminUser defined signal 1
SIGUSR231TerminUser 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

+ Recent posts