본문 바로가기
개발/Cocos2d-x

[Cocos2d-x] 안드로이드 디버깅 #1 - 이클립스 LogCat

by 가리봉맨 2013. 2. 12.
반응형

PC 프로그램 개발은 개발 환경과 실행 환경이 같다. 하지만 모바일 앱은 개발을 PC(맥 포함)에서 하지만 실행 환경은 모바일 기기다. 즉, 프로그램이 PC 에뮬레이터 상에서 정상적으로 작동한다고 해도 모바일 기기에서는 그렇지 않을 수 있다. 기기 디버깅이 반드시 필요한 이유다.


타겟 디바이스가 iOS 기기라면 디버깅에 Xcode를 그대로 사용하면 된다. 하지만 안드로이드 기기에서는 상대적으로 디버깅이 어려운 이클립스(eclipse) 또는 커맨드라인 도구(Command Line Tool)를 이용할 수 밖에 없다. 이에 안드로이드 기기 디버깅 방법을 총 세 편의 포스트를 통해 알아보겠다.


이에 앞서 Cocos2d-x 설치 시 함께 제공되는 스크립트(create-android-project.sh)를 이용해서 기본 프로젝트를 만든다. 프로젝트 이름은 “Cocos2dxTest”로 한다. 참고로 현재 Cocos2d-x 최신 버젼은 2013년 1월 28일에 릴리즈된 버젼 2.1.1이다.


<그림1> Cocos2d-x 안드로이드 프로젝트 생성


이 포스트는 연재의 첫번째 편으로 이클립스 LogCat 창에 로그를 찍는 방법을 알아보겠다. Xcode에서는 C++ 소스 코드에서 CCLog 메서드를 호출해서 콘솔 창에 로그를 출력한다. 이클립스에서도 같은 방법으로 콘솔 창에 로그를 출력할 수 있다.

/cocos2dxTest/Classes/HelloWorldScene.cpp 파일의 HelloWorld:scene() 메서드에 다음 코드를 입력한다.


CCLog(“start HelloWorld scene!”); 


만약 CDT 플러그인을 설치했다면 <그림2>와 같이 이클립스에서 바로 C++ 코드를 편집할 수 있다.

 

<그림2> 프로그램 소스에서 CCLog 메서드 호출


다음으로 프로젝트를 디버깅 모드로 실행한 뒤, 퍼스펙티브 창을 DDMS로 변경한다.


<그림3> DDMS 선택


<그림4>와 같이 LogCat 창에 “start HelloWorld scene!”이라는 로그가 출력된다.


<그림4> LogCat에 로그 출력


LogCat은 원하는 종류의 로그만 화면에 표시하는 기능인 필터를 지원한다. 만약 cocos2d-x라는 필터가 없다면 새로 만든다. LogCat 좌상단에 있는 녹색 ‘+’ 버튼을 클릭하면 “LogCat Message Filter Settings” 라는 창이 뜬다. 여기서 Filter Name: 에 ‘cocos2d-x’를 입력하고, by Log Tag: 에는 ‘cocos2d-x debug info’라고 입력한다.


<그림5> LogCat 필터 생성


반응형

댓글