본문 바로가기
개발일기

[개발일기] 임베디드시스템 개발자로 0.001걸음 | core dump file

by S나라라2 2020. 3. 5.
반응형

 

항상 상위 응용프로그램 개발을 하다가, 오늘 우리 팀의 시스템 담당 책임님이 일을 주셨다!!

 

그 일은 뭐냐면 SQE 팀에서 우리가 진행하던 프로젝트 테스트를 끝내고 다른 과제를 시작하셨다.

따라서 SQE 측에 남아있는 core file을 가져오고, 그것의 log를 분석하는 일이였다.

 

1. 임베디드시스템으로부터 core file 수집

이미 임베디드시스템을 개발할 때, 특정 이름의 usb를 꽂으면 core file이 usb로 복사되도록 스크립트를 구현해놓았다.

2. TEST 하던 개발환경 동일 시 해주기

동일 버전의 image를 복사해서 준비해준다. main dbg 파일을 복사해둔다.

3. usb 마운트해주기

4. gdb를 실행하여 back tracing시작

 

 

근데 정말 신기했음

진짜... 나는 개발자라고 말도 못할.. 그런 레벨이구나....허허

 

 


코어 덤프(core dump), 메모리 덤프(memory dump), 시스템 덤프(system dump) 

: 컴퓨터 프로그램이 특정 시점에 작업 중이던 메모리 상태를 기록한 것. 

보통 프로그램이 비정상정으로 종료했을 때 만들어진다.

 

출처 : 위키피디아 '코어 덤프'

 


Debugging memory dump

 

임베디드 시스템에서만 덤프를 분석하는줄 알았는데 그게 아니였다.

PC 프로그램나 모든 프로그램 모두 동일하다.

 

디버거가 설치되어 있고 개발환경이 꾸며져 있는 PC에서 문제가 발생한다면야 별 걱정이 없지만,

문제가 발생한 PC에서 '메모리 덤프'를 작성하여 분석가능한 개발PC로 가져와서 덤프 분석을 수행해야 한다.

 

출처 : kuaaan.tistory.com/213


main , main dbg 의 차이

 

 

 

반응형