Logcat은 기기에서 오류와 (앱에서 Log
클래스로 작성한) 메시지가 발생할 때, 스택 추적을 비롯하여 시스템 메시지의 로그를 덤프해주는 명령줄 도구
가끔 테스트 중 Crash 로그를 개발자들에게 넘겨주기도 하는데, 로그들을 볼 줄 알면 결함 잡을 때 도움이 될 것 같음.
로그 출력 필터링
- 로그 메시지의 태그는 메시지가 발생하는 시스템 구성 요소를 나타내는 짧은 문자열 (예: 뷰 시스템의 경우 "View")
- 우선순위는 다음 문자값 중 하나이며, 가장 낮은 우선순위에서 가장 높은 우선순위로 지정
V
— Verbose (가장 낮은 우선순위)D
— DebugI
— InfoW
— WarningE
— ErrorF
— FatalS
— Silent(가장 높은 순위, 이 경우 아무 것도 출력되지 않음)
아래의 Exception을 같이 봐주면 좋음.
가끔 QA 중 크래시로 인한 Fatal issue는 로그를 개발자들에게 주고 있음.
대표적 Exception 들
Exception 종류 |
설명 |
NullPointerException |
Null 레퍼런스를 참조할때 발생. |
(XXX)IndexOutOfBoundsException |
배열과 유사한 자료구조에서 범위를 벗어난 인덱스 번호 사용 시 발생. (Ex. 문자열, 배열, 자료구조) |
(XXX)FormatException |
문자열, 숫자, 날짜 변환 시 잘못된 데이터로 발생. (Ex. "123A" → "12"로 변환) 데이터의 변환 처리에서 자주 발생 됨. |
ArthmeticException |
정수를 0으로 나눌 때 발생. |
ClassCastException |
변환할 수 없는 타입으로 객체를 변환할 때 발생. |
IllegalArgumentException |
잘못된 인자 전달 시 발생. |
IOException |
입출력 동작 실패 또는 인터럽트 시 발생. |
IllegalStateException |
객체의 상태가 메소드 호출에는 부적절한 경우 발생. |
ConcurrentModificationException |
금지된 곳에서 객체를 동시에 수정하는 것이 감지되는 경우 발생. |
'4. Programming > 4.2 Android' 카테고리의 다른 글
01 - 뷰와 뷰그룹 (0) | 2016.06.12 |
---|