Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- install
- Callback
- Sync
- Python
- tcp
- GO 언어
- 책
- C
- range
- go언어
- json
- package
- bitcoin
- mutex
- 리뷰
- JavaScript
- API
- Golang
- channel
- FOR
- Linux
- 영화
- window
- windows
- c++
- write
- Close
- go
- http
- File
Archives
- Today
- Total
Code Habit
Linux) core dump 분석 본문
Linux환경에서 개발한 프로그램이 크래시 났을 때 core 파일을 생성하여 gdb로 분석이 가능하다.
1. core 파일 생성
'ulimit -a' 명령으로 core 파일 생성 여부를 확인할 수 있다. 'core file size'가 0으로 설정되어 있다면 core 파일이 생성되지 않는다. 'ulimit -c unlimited' 명령으로 코어 파일을 생성할 수 있다. ( 'unlimited -c 0'으로 해제할 수도 있다. )
2. core 파일 분석
프로그램이 죽으면 실행파일이 있는 경로에 core.xxxx 라는 파일이 생성될 것이다. 이를 gdb를 이용하여 디버깅할 수 있는데 다음 명령어들을 사용하면 된다.
- file 'core.xxxx' : core 파일을 생성한 프로그램 정보를 출력한다.
- gdb '실행파일' 'core.xxxx' : core 파일 분석 시작.
- bt(backtrace) : 죽기 직전 호출 되었던 호출스택 확인.
- bt full : 죽기 직전 호출 되었던 전체 호출스택 확인.
- list : 스택의 코드 보기.
- info local : local 변수 값 확인.
- info arg : 매개변수 값 확인.
- q : gdb 분석 종료.