안드로이드 프로그램을 디버깅하는 방법

이클립스에 안드로이드 플러그인을 정상적으로 설치하였다면 이제 예제 프로그램을 어떻게 디버깅할 수 있는지 살펴보도록 하죠.

1. 이클립스에서 디버그 시작 하기
안드로이드 SDK 예제중 NoteList를 디버그 모드로 실행해보도록 하겠습니다.
  • NoteList의 예제코드를 이미 존재하는 파일을 이용한 안드로이드 프로젝트로 생성하십시오.
  • 정상적으로 생성되었으면 WorkBench의 Navigation에서 NoteList를 선택하고 Debug As > Android Application 메뉴를 선택합니다
2. 이클립스에서 로그 메시지 보기
안드로이드의 시스템 로깅이나 프로그램의 로깅 메시지를 보기 위해서는 안드로이드의 LogCat 도구를 사용합니다. 이클립스에 통합되어 있으므로 손쉽게 이용할 수 있습니다.
  • Window > Show View > Other... 메뉴를 선택합니다
  • Show View 대화 상자에서 Android를 선택한 후 LogCat을 선택합니다. IDE에 아래 화면과 같은 LogCat 윈도우가 추가됩니다

3. 프로그램에서 로그 메시지 출력하는 법
프로그램에서 로그 메시지를 출력하기 위해서는 android.util.Log 클래스를 이용합니다. 이 클래스는 메시지의 출력 레벨 별로 5개의 메쏘드를 제공하여 LogCat에서 레벨별로 분류하여 살펴볼 수 있도록 합니다. 자세한 내용은 위 링크를 참고하세요.
LogCat의 2번째 컬럼은 디버그 메시지의 레벨을 표시하는 것으로 다음과 같은 문자를 사용합니다.
  • D - Debug level
  • E - Error level
  • I - Information level
  • V - Verbose level
  • W - Warning level
4. 이클립스에서 중단점 (break point) 설정 하기
이클립스 IDE의 WorkBench에서 중단점을 설정하는 것도 가능합니다. 소스 에디팅 윈도우의 가장 좌측 선택 바의 context menu에서 Toggle Breakpoint를 선택하여 중단점을 추가하거나 제거할 수 있습니다.
일단 중단점에서 break가 걸리면 이클립스가 Debug Perspective로 전환되어 현재 쓰레드 정보, 변수 값등 디버깅에 필요한 정보를 손쉽게 확인할 수 있습니다. 물론, 기타 자바 프로그램과 마찬가지로 step trace도 가능합니다.

댓글

  1. 안녕하세요 안드로이드 개발 초보 입니다. 안드로이드 개발하시는 분을 만나니 정말 반갑습니다. 다름이 아니고 G1이 usb 디버깅을 지원한다고 하는데요, 미국의 단말기를 사오면 통신이 끊어진 상태에서도 usb 디버깅이 가능한지 아시나요? 답변 주시면 감사하겠습니다.^^

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

Wireless: HotSpot 2.0 이란?

Apple M1 Mac Mini에서 이더리움 (Ethereum) 채굴하기

Java: Java for Game? Java가 Game 개발에 어울릴까?