카테고리 없음

리눅스코어덤프

컴공 2013. 6. 30. 15:37
반응형
코어 덤프
 
특정 시점에 RAM에 들어 있는 내용을 종이에 인쇄하거나, 또는 HDD와 같은 보다 영구적인 매체에 복사해 두는 행위를 말한다. 어떤 사람들은 이것을 램에 대한 스냅사진이라고 말하기도 한다. 코어 덤프는 주로 프로그램을 디버깅하기 위한 목적으로 행해지지만, 요즘은 고급 언어를 이용해 프로그래밍을 하면서 인터랙티브 형식으로 디버깅을 하는 추세에 따라, 문제 해결을 위해 코어 덤프를 필요로 하는 경우는 줄어 들고 오히려, 운영체제를 유지보수하고, 때로 그 안에 있는 문제들을 디버깅해야 하는 시스템 프로그래머들에 의해 사용되는 경우가 더 많다.
 
코어 덤프는 대체로 여러 개의 줄로 구성된 정형화된 보고서의 형태로 되어 있는데 이들은 각 메모리 위치와 그 위치에 저장된 값을 16진수로 보여준다. 부가 정보를 통해 코어 덤프가 시작되던 바로 그 시기에 수행되었던 명령을 정확히 알 수 있다.
 
core dumpd 활용하기
 
core dumpd는 프로그램의 비정상적인 종료 (Segmentation Fault 등)시 커널에서 그때 사황을 덤프시킨 파일이다. 리눅스는 기본적으로 코어 덤프를 하지 않는데 이를 활성화 시키려면 다음과 같다.
 
$ ulimit -c unlimited
 
또한 덤프된 내용중 문자열만 뽑아보고 싶다면 다음과 같이 명령하면 된다.
 
$ strings core.xxx > core.string
 
core 파일은 로그인 계정의 홈 디렉토리에 생긴다.
반응형