Redhat 7.0 코어 덤프 파일 분석

Redhat 7.0 코어 덤프 파일 분석

코어 덤프 파일을 계속 생성하는 프로세스가 있지만 어떤 프로세스인지조차 확실하지 않습니다. 크래시 유틸리티를 사용하여 코어 덤프 파일을 분석하는 지침을 따랐습니다. 새 저장소를 설치해야 했고 설치가 중단되었습니다. 이제 실행 중이므로 다음을 얻습니다.

crash: /usr/lib/debug/lib/modules/3.10.0-229.14.1.el7.x86_64/vmlinux and /home/user/d336599/core.26061 do not match!

해결책을 알고 계십니까?

답변1

코어 덤프에 이 명령을 사용 하면 file코어 덤프 파일을 생성한 실행 파일의 이름을 알려줄 수 있습니다.

그런 gdb <executable file> <core dump file>다음 시작되고 gdb명령 btgdb프로그램이 충돌하는 역추적을 생성합니다.

그러나 실행 파일에서 디버깅 기호가 제거된 경우에는 역추적에서 많은 정보를 제공하지 않는다는 것을 알 수 있습니다. 이 경우 실행 파일에 대한 별도의 디버그 기호 테이블 파일(버전이 정확히 일치해야 함)을 찾아서 -s <symbol table file>gdb 명령 호출에 추가해야 할 수도 있습니다.

코어 덤프가 잘리면 디스크 공간이 부족해질 가능성이 높습니다(귀하의 의견에 언급한 대로). 코어 파일 이름은 /home/user/d336599/core.26061RHEL7 sysctl 기본값을 사용할 수 있음을 나타냅니다 kernel.core_pattern = "core". kernel.core_uses_pid = 1sysctl에 절대 경로 이름을 지정하면 kernel.core_pattern더 많은 공간이 있는 다른 디스크로 코어 덤프를 리디렉션할 수 있습니다. 코어를 덤프한 프로그램을 소유한 사용자가 디렉토리에 쓸 수 있는지 확인하십시오.

바라보다man 5 corekernel.core_pattern코어 덤프 파일이 생성되는 위치를 지정하는 방법과 이름을 지정하는 방법에 대한 자세한 내용입니다.

관련 정보