: 소스코드를 코딩한 후에 컴파일을 하고 나면 종종 core라는 화일이 생기는
:
: 데.. 그것이 특정 사용자에게 생기는 것인지..아니면 컴파일할때..
:
: 어떤 부분이 시스템을 건드려서 그러는 건지..
:
: core라는 화일이 생기는 이유를 알고 싶습니다..
:
: 아시는분 있음 알려주십시오..
:
: 또한 이 화일을 수정이나 없에거나 하는 방법두여...ㅡ,.ㅡ;
:
: --
: 리눅스... 알아가는 기쁨.. 유닉스 또한 참맛..!!!
: 삽질후의 개운함... 그것을 찾아서..
코어의 생기는 것은 커널에서 지정할 수 있습니다. 이것은 시스템에서 처리할 수
없는 에러를 발생시킬 때 나타납니다. 예를 들면 소스 코드 중에 0으로 나눈다던가
의 에러가 있으면 core를 발생시키며 그 프로그램을 종료시킵니다.
일종의 log화일로 나중에 에러를 gdb와 같은 debugger를 이용해서 소스 코드
중에 에러를 찾아 낼 수 있습니다.
이 부분이 윈도우 체계에 비해서 Unix계열 시스템이 진보된 것이지요. 즉
어떤 프로그램도 오작동에 의해서 중지는 되지만, 결코 시스템을 죽이는 않죠.
그 과정 중의 결과문이 core dump이고요.
컴파일할 때 -g옵션을 붙여서 컴파일을 해주면 core dump로 부터 에러의 위치를
추적해 낼 수있습니다.
보통 이 때쓰는 명령어는 gdb이면 사용 방법은
% gdb <실행화일> core
형태입니다.
그렇지만 debugging option은 단지 테스트용이지 실제 프로그램에서는 보통
빼는 것이 좋습니다. 그래서 실행속도가 증가하니까요. (이래도 core는 생깁니다.
다만 gdb를 이용해서 에러의 위치를 추적하지 못할 뿐이죠)
도움이 되었길 빕니다.--내 서명???