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 -c
SIZE.
언급URL : https://stackoverflow.com/questions/6152232/how-to-generate-core-dump-file-in-ubuntu
'programing' 카테고리의 다른 글
하나의 명령으로 모든 행을 위로 이동할 수 있는 Mariaadb UPDATE 테이블? (0) | 2023.09.13 |
---|---|
플렉스 컨테이너의 높이 행이 같음 (0) | 2023.09.13 |
mariadb - select 문이 쿼리 시간이 부정확함을 나타냅니다. (0) | 2023.09.08 |
인덱스 뒤에 있는 모든 항목 제거 (0) | 2023.09.08 |
이미지 보기에 첨부된 비트맵 가져오기 (0) | 2023.09.08 |