코어 덤프 란 무엇입니까?
코어 덤프는 심각한 오류가 발생한 경우 컴퓨터의 메모리 내용에 대한 기록입니다. 전체 시스템 메모리 또는 실패한 프로그램에서 사용중인 부분 만 포함 할 수 있습니다. 또한 프로세서 상태, 등록 내용 및 실행중인 프로세스 정보와 같은 기타 관련 데이터를 포함 할 수 있습니다. 소프트웨어 엔지니어는 종종 컴퓨터 오류를 분석하고 수정하기 위해 디버거 및 기타 유틸리티와 함께 코어 덤프를 사용합니다. 코어 덤프는 정상 작동 중에 하나의 프로세서에서 다른 프로세서로 작업 프로세스를 전송하는 데 사용될 수도 있습니다.
"코어 덤프"라는 용어는 초기 컴퓨터가 자기 코어 메모리를 사용한 1960 년대에 시작된 것 같습니다. 실행중인 프로그램이 중단되면 전체 코어의 모든 데이터가 종이에 인쇄되어 디버깅에 도움이됩니다. 이 인쇄물은 일반적으로 메모리 주소와 8 진수 또는 16 진수 표기법으로 구성된 데이터로 구성됩니다. 스토리지 기술이 향상됨에 따라 코어 덤프를 디스크, 이동식 자기 테이프 또는 비 휘발성 메모리 스틱에 저장할 수 있습니다. 소프트웨어 디버깅의 발전과 함께 상태 정보를위한 더 큰 저장 용량으로 인해 오류 진단이 더욱 효율적으로 이루어졌습니다.
코어 덤프의 일반적인 원인은 잘못 작성된 응용 프로그램 또는 시스템 소프트웨어입니다. 종종 프로그램 코드는 포인터와 배열 인덱스가 항상 유효한 데이터 구조를 참조한다고 가정합니다. 예를 들어, 이들 중 하나가 원래 구조의 경계를 넘어 이동 한 경우 코어 덤프가 발생할 수 있습니다. 저장 장치의 데이터 파일에 액세스하거나 손상된 데이터를 읽는 데 문제가 있으면 코어 덤프도 발생할 수 있습니다. 메모리 오작동, 하드 디스크 또는 프로세서를 포함한 하드웨어 문제도 문제를 일으킬 수 있습니다.
일반적으로 두 가지 유형의 코어 덤프가 있습니다. 한 가지 유형은 실행중인 프로세스 또는 응용 프로그램이 종료되고 제어가 운영 체제로 리턴되는 위치입니다. 이 경우 문제의 프로그램 만 중지되었으므로 나머지 시스템은 계속 정상적으로 작동합니다. 일반적으로 큰 코어 덤프 파일이 생성되어 디버거에로드 될 수 있습니다. 심볼과 소스 코드를 사용할 수있는 프로그램에서 오류가 발생한 경우 디버거에도로드 할 수 있습니다.
다른 더 심각한 유형의 코어 덤프는 커널 패닉이라고도합니다. 이 유형의 덤프는 추가 합병증 및 데이터 손상을 방지하기 위해 전체 시스템을 트랙에서 중지합니다. Microsoft Windows® 시스템에서 이러한 종류의 덤프는 일반적으로 "죽음의 블루 스크린"이라는 매우 친숙한 형태로 발생합니다. 이와 같은 패닉은 일반적으로 디버그하기 어렵고 종종 하드웨어 또는 시스템 레벨 문제로 인해 발생합니다. 실제 원인에 대한 정보가 거의없는 경우 시스템 부팅이 완료되기 전에 발생할 수 있습니다.