programing

Ubuntu에서 코어 덤프 파일을 생성하는 방법

i4 2023. 9. 13. 22:18
반응형

Ubuntu에서 코어 덤프 파일을 생성하는 방법

우분투에서 코어 덤프 파일을 생성하는 방법을 알고 싶습니다.저는 우분투 8.04.1과 gcc 컴파일러 4.2.3을 사용하고 있습니다.코어 덤프를 생성하기 위한 간단한 C 프로그램을 작성했습니다.gcc-g badpointer.c와 같이 프로그램을 컴파일하였습니다. 프로그램을 실행하면 segmentation fault는 발생하지만 core dump는 발생하지 않습니다.코어 덤프 파일을 생성하려면 어떤 추가 작업을 수행해야 합니까?

리눅스

다음 명령으로 코어 덤프를 활성화합니다.

ulimit -c unlimited

또한 확인합니다.core_pattern값 기준:

sysctl kernel.core_pattern

덤프가 어디서 생성되는지 확인하려면)%e프로세스 이름이 될 것이며,%t시스템 시간이 될 것입니다.

/etc/sysctl.conf에서 변경한 후 다음을 기준으로 다시 로드할 수 있습니다.sysctl -p.

테스트 방법은 다음과 같습니다.

sleep 10 &
killall -SIGSEGV sleep

코어 덤프가 성공하면 세그먼트 오류 표시 뒤에 "(코어 덤프)"가 표시됩니다.그렇지 않으면 당신의ulimit다시

참고 항목:


우분투

Ubuntu가 있는 경우 덤프는 Apportin에서 생성됩니다./var/crash, 기본적으로 비활성화되어 있습니다.

자세한 내용은 다음을 확인하십시오.우분투에서 코어 덤프는 어디서 찾을 수 있습니까?


macOS/OS X

macOS에서 크래시 덤프는 크래시 리포터에 의해 백트레이스 형태로 자동으로 생성됩니다.이러한 충돌 파일은 콘솔을 실행하고 '사용자 진단 보고서' 섹션('진단 및 사용 정보' 그룹 아래)으로 이동하여 찾을 수 있습니다.~/Library/Logs/DiagnosticReports.

실제 코어 파일은 다음에서 생성됩니다./cores.

자세히 보기:맥 OS X에서 코어 덤프를 생성하는 방법은?

출력 확인ulimit -c, 출력이 0이면 코어 덤프가 없는 이유입니다.

사용하다

ulimit -c unlimited

핵심 창작을 허용하다 (대체할 수도 있음)unlimited실제 크기 제한을 통해 보다 안전하게 사용할 수 있습니다.)

다음을 사용하여 최대 코어 덤프 크기 설정ulimit -cSIZE.

언급URL : https://stackoverflow.com/questions/6152232/how-to-generate-core-dump-file-in-ubuntu

반응형