Android

안드로이드 디버깅 방법

hiro1983 2016. 8. 13. 17:17

최근 커뮤니티 사이트에서 이글 저글 보다가 어느분이 오류를 해결해달라고 글을 올렸더랬다...

제목도 Ctrl+C, V 내용도 Ctrl+C, V ㅡㅡㅋ (뭐 어쩌라고..)

내용을 보니 내용에 오류가 있고..당연히 해결 방법도 있더라...

어느 분이 이렇게 검색해보시면 답이 나올꺼다..라고 답변을 달았더니...

이런 답변을 왜 다냐고 뭐라 하더라..(결국은 떠 먹여 달라는 거지...)

그 후로 그 사람에게는 답변이 달리지 않았다..

글이 이상한데로 빗겨나가버렸지만...디버깅을 좀 더 편하게 하기 위한 방법을 남긴다.


-----------------------------------------------------------------------------------------------------------------


개발을 하다보면 당연히 디버깅을 할 일이 많다 (디버깅을 잘 해야 퇴근이 빨라진다...?)


안드로이드 개발시 보통 3가지 방법으로 디버깅을 한다.


1. LogCat를 이용하는 방법

2, 디버거를 이용하는 방법

3. Lint를 이용하는 방법


기본적으로 오류가 발생하면 AndroidStudio에서 알려준다.


위와 같이 알 수 있으며 파랑색 내용을 클릭하면 해당 오류 부분으로 이동이 된다.

(이것만 잘 읽어봐도 어느정도 오류가 해결된다...)


하지만..값이 잘 못 들어 와서 오류가 날 경우..(화면에 이상한 값이 보인다던지, 다른 곳에 텍스트가 바뀐다던지...)

경우는 값을 하나하나 확인을 해봐야 한다.


그럴경우 간단하게는 LogCat을 찍는다. (특정 메서드가 호출 되었는지 확인 할 떄에도 많이 사용한다.)



위와 같이 Log를 찍어두면..실행 시 아래 그림 처럼 정보가 보인다.



getLocalClassName()은 실행되는 Class의 이름을 호출한다.

보통 최상단에 TAG 상수를 생성해서 사용하기도 한다.


이런 방식으로 하나하나 값을 찍어보는 것이다..(값을 정상인지, 메서드가 정상적으로 호출 되었는지..)


두 번째 방법으로 디버거를 이용하는 방법이있다. (중단점을 찍고 디버깅으로 실행하는 것이다.)

프로그램을 실행한 후 라인 별로..혹은 클래스 별로 실행은 잘 되는지 값은 잘 들어가 있는지 확인 할 수 있다.



위 그림을 보면 라인 숫자 옆에 붉은 동그라미가 보인다. 이것이 중단점이다.

중단점 찍는 방법은 그냥 그 부분을 클릭하면 된다. 해제 방법은 다시 한 번 클릭하면 된다.


그런 후에 쉬프트 + F9 로 실행을 하면 디버깅 모드로 실행된다.

상단에 벌레 아이콘을 클릭해도 되고, Run ->Debug App을 실행해도 된다.



그럼 그림과 같이 디버거 창에서 내용이 확인 된다.

값이 어떻게 들어있는지..어디를 참조하는지 등등등 많은 정보를 알 수 있다. F8을 클릭하면 한 라인씩 실행되며,

변화 되는 것을 확인 할 수 있다.


마지막 방법은 Lint를 이용하는 방법이다. 

사용법은 참으로 간단하다..메뉴에서 Analyze -> Inspect Code... 클릭


기본값으로 두고 OK를 클릭해보자.



TextView에 Button을 연결 시켜보았다..

아래에 내용을 보면 문제가 있는거 아니냐며 물어본다.


위와 같이 프로젝트 내부에서 발생하는 오류, 경고 등이 확인 하고..해결 할 수 있다.