본문 바로가기
Linux

👨‍💻 [Linux] 리눅스 (Linux) 에서 코어 덤프 파일을 생성하기 위한 설정은 어떻게 해야 하나요?

by 밝음의기둥 2025. 1. 21.
반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

리눅스 (Linux) 에서 코어 덤프 파일을 생성하기 위한 설정은 어떻게 해야 하는지 간략히 알아보았습니다.


질문 >

리눅스 (Linux) 에서 코어 덤프 파일을 생성하기 위한 설정은 어떻게 해야 하나요?

답변 >

리눅스에서 코어 덤프 파일을 생성하기 위한 설정은 아래 단계를 따르면 됩니다:


1. 코어 덤프 활성화

코어 덤프 파일 생성을 활성화하려면 ulimit 명령어를 사용하여 코어 파일 크기 제한을 설정해야 합니다.

현재 세션에서 활성화:

ulimit -c unlimited

변경사항 확인:

ulimit -c

  • 결과가 unlimited이면 코어 덤프가 활성화된 것입니다.
  • 다른 값이 출력되면 해당 크기(바이트 단위)로 제한됩니다.

시스템 전체에 적용하려면:

/etc/security/limits.conf 파일 또는 관련 디렉터리(예: /etc/security/limits.d/)의 설정 파일에 아래 내용을 추가합니다:

*       soft    core    unlimited
*       hard    core    unlimited


2. 코어 덤프 저장 경로 설정

코어 덤프 파일의 저장 경로와 이름 형식을 설정하려면 /proc/sys/kernel/core_pattern 파일을 수정해야 합니다.

현재 설정 확인:

cat /proc/sys/kernel/core_pattern

설정 변경:

/etc/sysctl.conf 또는 /etc/sysctl.d/에 설정을 추가합니다. 예:

echo '/tmp/core-%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern

위 명령은 코어 덤프 파일을 /tmp 디렉터리에 저장하며, 파일명에 실행 파일 이름(%e), 프로세스 ID(%p), 타임스탬프(%t)를 포함합니다.

  • 자주 사용하는 패턴:
    • %e: 실행 파일 이름
    • %p: 프로세스 ID
    • %t: 타임스탬프
    • %u: 사용자 ID
    • %g: 그룹 ID

3. 코어 덤프 설정 확인

변경된 설정이 제대로 적용되었는지 확인하려면 다음을 사용합니다:

/proc/sys/kernel/core_pattern 확인:

cat /proc/sys/kernel/core_pattern

코어 파일 크기 제한 확인:

ulimit -c


4. 코어 덤프 테스트

테스트용 프로그램을 실행해 코어 덤프를 확인할 수 있습니다. 예를 들어, 의도적으로 세그먼테이션 오류(segmentation fault)를 발생시키는 C 프로그램을 실행합니다.

예제 코드:

#include <stdio.h>

int main() {
    int *p = NULL;
    *p = 42; // Null pointer dereference
    return 0;
}

컴파일 후 실행하여 코어 파일이 생성되었는지 확인합니다:

gcc -o core_test core_test.c
./core_test


5. 디버깅

코어 덤프를 디버깅하려면 gdb를 사용할 수 있습니다:

gdb <프로그램 경로> <코어 파일 경로>


참고

  • 보안 이유로, 일부 배포판(예: Ubuntu)은 기본적으로 코어 덤프 생성을 비활성화하거나 특정 사용자만 허용합니다.
  • 특정 프로세스에서 코어 덤프를 생성하려면 해당 프로세스를 시작하기 전에 ulimit를 설정하거나 시스템 전체 설정을 변경해야 합니다.


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리(Willee) 입니다. 📢 위로그@WiLog 는 자기계발을 목적으로 하는 채널 입니다. 📢 오늘도 즐겁게~ 자신을 위한 계발을 함께 해보아요~ d^_^b 📌

www.youtube.com

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com


반응형