BLOG main image
분류 전체보기 (0)
사람들 (0)
사물들 (0)
사건들 (0)
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
rss
T:   Y: 
2007. 2. 4. 07:58
가끔가다가 검색엔진을 통해 코어덤프(core dump)의 원래 의미을 찾던 분들이 오시는 경우가 있어, 그분들의 헛수고를 방지하기 위해 원래의 의미를 아는 범위 안에서 설명합니다.

코어덤프(core dump)는 어떤 프로그램의 메모리 사용 상태를 특정 시점에서 기록한 것으로, 주로 파일로 만들어진다. 보통, 프로그램이 비정상적으로 종료되는 경우에 생기지만, 정상적으로 작동하는 프로그램으로부터도 코어덤프를 만들 수 있다. 예컨대, 기본설정을 변경하지 않은 유닉스에서는 SIGQUIT 시그널을 보냄으로써 코어덤프를 만들수 있다.

운영체제 제작사에 따라 프로그램 이름 뒤에 .core라는 접미사를 붙여 코어덤프를 만드는 운영체제도 있고, 그냥 core라고만 생기는 경우도 있다.

코어덤프는 주로 잘못된 프로그램의 디버깅 용도로 많이 쓰인다. 특히, 오픈소스 프로그램을 논의하는 곳에 가면, 문제를 보고했을때, 종종 문제 식별을 위해 코어덤프를 보내달라고 하기도 한다.

한편 최종 사용자의 입장에서는 코어덤프는 알아볼 수 없는 파일에 불과할수도 있다. 그런 경우에는 코어덤프를 만들 사유가 되더라도 파일이 생기지 않도록 할 수도 있다. 예컨대, C-shell에서는 limit coredumpsize 0 같이 해주면 코어덤프 파일이 생기지 않는다. Korn shell이나 기타 Bourne shell계열 쉘도 비슷한 명령(ulimit)이 있다.

좀더 자세한 설명: 유닉스 매뉴얼, 예컨대, SolarisOpenBSD의 설명.