최근 응용 프로그램에서 생성 된 코어 덤프의 크기가 증가하고 있음을 알게되었습니다. 처음에는 크기가 약 5MB 였고 스택 프레임이 약 5 개였습니다. 이제는 2GB가 넘는 코어 덤프가 있으며 그 안에 들어있는 정보는 더 작은 덤프와 다를 바 없습니다.Linux 코어 덤프가 너무 큽니다!
생성 된 코어 덤프의 크기를 제어 할 수있는 방법이 있습니까? 응용 프로그램 바이너리 자체보다 작아야합니까?
바이너리는 이런 방식으로 컴파일 :
디버그 기호 릴리스 모드에서 컴파일- (즉, GCC의 -g 컴파일러 옵션).
- 디버그 기호는
별도의 파일에 복사되고
바이너리에서 제거됩니다. - GNU 디버그 심볼 링크가 이진 파일에 으로 추가되었습니다.
코어 한계를 무한대로 설정하는 setrlimit
에 대한 호출이 있습니다. 이것이 문제입니까?
앱 부리 수유를 중지합니다. – Pierreten