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!”); |
<그림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 필터 생성
'개발 > Cocos2d-x' 카테고리의 다른 글
[Cocos2d-x] 안드로이드 디버깅 #3 - 크래쉬 덤프 (0) | 2013.02.14 |
---|---|
[Cocos2d-x] 안드로이드 디버깅 #2 - 브레이크 포인트(break point) (0) | 2013.02.13 |
[Cocos2d-x] 이클립스에서 JAVA / C++ 혼합 프로젝트 설정하기 #2 (6) | 2012.10.23 |
[Cocos2d-x] 이클립스에서 JAVA / C++ 혼합 프로젝트 설정하기 #1 (2) | 2012.10.16 |
[Cocos2d-x] 2.0.x 버젼 통합 프로젝트(iOS & Android) 만들기 (4) | 2012.10.05 |
댓글