코어 덤프 파일을 계속 생성하는 프로세스가 있지만 어떤 프로세스인지조차 확실하지 않습니다. 크래시 유틸리티를 사용하여 코어 덤프 파일을 분석하는 지침을 따랐습니다. 새 저장소를 설치해야 했고 설치가 중단되었습니다. 이제 실행 중이므로 다음을 얻습니다.
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
명령 bt
은 gdb
프로그램이 충돌하는 역추적을 생성합니다.
그러나 실행 파일에서 디버깅 기호가 제거된 경우에는 역추적에서 많은 정보를 제공하지 않는다는 것을 알 수 있습니다. 이 경우 실행 파일에 대한 별도의 디버그 기호 테이블 파일(버전이 정확히 일치해야 함)을 찾아서 -s <symbol table file>
gdb 명령 호출에 추가해야 할 수도 있습니다.
코어 덤프가 잘리면 디스크 공간이 부족해질 가능성이 높습니다(귀하의 의견에 언급한 대로). 코어 파일 이름은 /home/user/d336599/core.26061
RHEL7 sysctl 기본값을 사용할 수 있음을 나타냅니다 kernel.core_pattern = "core"
. kernel.core_uses_pid = 1
sysctl에 절대 경로 이름을 지정하면 kernel.core_pattern
더 많은 공간이 있는 다른 디스크로 코어 덤프를 리디렉션할 수 있습니다. 코어를 덤프한 프로그램을 소유한 사용자가 디렉토리에 쓸 수 있는지 확인하십시오.
바라보다man 5 core
kernel.core_pattern
코어 덤프 파일이 생성되는 위치를 지정하는 방법과 이름을 지정하는 방법에 대한 자세한 내용입니다.