사이트맵 보기

활용사례

[이벤트 - 디버깅 경험 수상작] Stack Overflow와 부팅 시 Reset 디버깅

작성자 관리자

조회수 6541

첨부파일
* 문제점 및 증상

MSM6100모델 폰 개발 중 MP3 파일 다운로드 시 Reset이 간헐적으로 발생되는 증상이 있었습니다.



* TRACE32로의 접근 방법(디버깅)

일단 폰에서 에러가 발생되는 위치를 알기 위해 Logging 정보를 남길 수 있는 Error log 를 CMM 스크립트로 작성하였습니다.

Error log를 확인한 결과 invalid task ID라는 부분이 있었습니다.

이 Log 정보는 tcb의 정보가 깨어질 때만 발생할 수 있다고 생각하여 tcb를 dump하였습니다

MP3 파일 다운로드 시 사용되는 data service tcb를 확인해 보았습니다.

Data service tcb의 stack이 다음 tcb 정보를 침범하여 tcb정보를 깨지는걸 확인하였습니다.



* 결론

tcb가 있는 영역의 Stack을 다른 영역의 task가 깨뜨려버리는 Stack Overflow Error였고 TRACE32에 있는 Rex Awareness 기능으로 더욱 쉽게 해결 할 수 있었습니다.
고객문의 기술지원/
데모/
SW요청
031-627-
3116