코어 파일을 분석하는 방법
gdb(GNU 디버거)를 사용하여 코어 파일을 분석하려면:
1. gdb 명령으로 코어 파일을 엽니다.
gdb <실행파일 경로> <core 파일 경로>
예를 들어 /usr/bin/ls 실행 파일과 /tmp/core 파일이 있는 경우 다음과 같이 gdb를 실행합니다.
gdb /usr/bin/ls /tmp/core
2. gdb가 실행 중일 때 “bt” 명령을 사용하여 백트레이스를 확인할 수 있습니다.
역추적은 프로그램이 종료되기 전에 수행한 함수 호출 스택을 보여주고 문제를 식별하는 데 도움이 될 수 있습니다.
bt
3. info Threads 명령을 사용하여 코어 파일에서 스레드 정보를 확인할 수 있습니다.
info threads
4. thread apply all bt 명령을 사용하여 모든 스레드의 역추적을 확인할 수 있습니다.
thread apply all bt
컨텍스트를 출력할 스레드를 선택하세요↓↓↓↓↓
더보기
원하는 스레드를 선택하여 스레드 컨텍스트를 출력할 수 있습니다.
예를 들어 스레드 2의 컨텍스트를 인쇄하려면 다음을 입력하십시오.
thread 2
5. “info registers” 명령을 사용하여 레지스터 정보를 확인할 수 있습니다.
info registers
6. 코어 덤프 파일에서 문제를 식별하고 해결하는 방법은 프로그램의 구조와 문제의 복잡성에 따라 달라질 수 있습니다.
일반적으로 디버깅 정보와 함께 프로그램의 소스 코드를 분석하여 문제를 식별하고 수정하는 것이 좋습니다.
위 과정을 참고하여 gdb를 이용하여 coredump 파일을 분석하고 문제를 해결할 수 있습니다.