본문 바로가기

core

debian 계열 linux에서 core 파일 생성 방법 1. core 파일을 최소 크기를 설정 한다. $ ulimit -c unlimited $ ulimit -a 2. core 파일의 네이밍 룰을 지정한다. $ echo "/etc/core" > /proc/sys/kernel/core_pattern > login 시 마다 동일한 설정을 해야 한다. [ 참조 ] http://kthan.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4Linux-ulimit-%EC%9C%BC%EB%A1%9C-coredump-%EC%84%A4%EC%A0%95 http://manywaypark.tistory.com/entry/core-file%EC%9D%80-%EC%96%B4%EB%94%94%EC%97%90 더보기
core 파일이 생성되는 한가지 상황 오늘 하루종일 삽질한 내용이 있어서 기록을 남긴다. [ 상황 ] 패킷 내용이 추가되어서 기존 모듈을 수정하게 되었다. 컴파일을 잘되는데, 실행하면 계속 core 파일이 생성되면서 프로세스가 죽는다. 수정 한 부분을 전체 주석으로 막아도, Call Stack을 체크 해보면 특정 함수를 진입하는 시점에 죽어 버린다. [ 원인 ] 원인은 패킷 사이즈가 커지면서, Stack 영역에 할당 할 수 있는 최대 메모리 사이즈를 초과한 것이다. [ 해결 방안 ] Stack 영역이 아닌, Heap영역에 메모리를 할당 하면 된다. 원인 밝히느라 오전 내내 삽질, 정적 메모리 구조를 동적 구조로 바꾸느라고, 오후 내내 디버깅 및 삽질.. 오늘 하루도 이렇게 날려 먹었다. [ Code ] -. Stack 영역에 할당 할 수 있.. 더보기
core 파일 분석 - 생성 정보 확인 $ file core - callstack 정보 확인 $ pstack core - 전체 메모리 맵 확인 $ pmap core - 시그널 정보 확인 $ pflags core - core 발생 Lib 확인 $ mdb core > $C > $q - 링크한 동적 Lib 확인 $ pldd core - process id: effective, real, saved (u/g) 확인 $ pcred core sun 장비에서 확인 한 내용입니다. 더보기