본문 바로가기
Programming/Windows Phone

HelloPhone 빌드와 실행

by 강철 벼룩 2011. 1. 6.


이번 시간에는 만든 애플리케이션을 빌드, 배포하고 윈도우 폰 에뮬레이터에서 실행해서 제대로 동작하는지 시험한다. 그리고 중단점을 설정해, 디버거를 사용해 소스코드를 단계별 진행하면서 변수의 값을 검사하는 과정을 통해 비주얼 스튜디오를 사용해 에뮬레이터에서 실행하는 애플리케이션을 디버깅하는 짧은 경험을 해본다.

1. [솔루션 탐색기]에서 MainPage.xaml 파일을 오른 클릭해서 [View Code]를 선택해 코드 숨김 파일을 열자.

2. “Click Me”버튼에 대한 이벤트 처리기에서 실행을 중지하도록 중단점을 정의한다. 중단점은 소스 파일의  ClickMeButton_Click 메서드의 첫 번째 줄을 찾아서 편집창의 왼편에 위치한 회색 영역을 클릭한다. 붉은색으로 채워진 원이 삽입된 중단점을 가리킨다. 다른 방법으로 편집장의 해당 줄을 클릭하고 [F9]를 눌러도 된다.

[그림 37] 비주얼 스튜디오에서 중단점 설정



3. [F5]를 눌러 애플리케이션을 빌드하고 윈도우 폰 에뮬레이터로 배포한 뒤 디버깅 세션을 시작한다. 애플리케이션이 실행되고 메인 페이지를 표시할 때까지 기다린다.

4. 에뮬레이터 창에서 텍스트 상자를 클릭해 포커스 옮긴다. 소프트웨어 입력 패널(SIP)가 자동으로 열린다. 패널을 사용하거나 PAUSE/BREAK 키를 눌러 데스크톱 키보드를 사용해 메시지를 입력할 수 있다. 텍스트 상자에 약간의 텍스트를 입력한 후, 그 옆에 있는 버튼을 클릭한다.

[그림 38] 에뮬레이터에서 입력하기
 


5. 다시 비주얼 스튜디오로 돌아오면 이전에 설정한 중단점에서 실행이 중지되어 있고 실행할 다음 문장이 노란색으로 강조되어 있다.

[그림 39] 디버거로 코드 단계별 실행하기



6. 디버거에서 텍스트 상자의 현재 내용을 확인해보자. 소스 창에서 MessageTextBox.Text 속성위에 마우스를 올린다. 툴팁 창(일반적으로 데이터팁이라 한다)이 팝업되어 해당 속성의 현재 값을 표시하는데, 이것은 에뮬레이터 창에서 입력한 텍스트와 같다. 커서를 Text 부분위에 올리지 않으면 MessageTextBox 객체에 관한 정보가 대신 표시된다. 

[그림 40] 디버거에서 변수의 값 확인하기

7. [F10]을 눌러 현재 구문을 한번에 넘어가 배너의 텍스트를 텍스트 상자의 내용으로 설정한다. 배너 텍스트의 값이 해당 텍스트 상자의 내용과 일치하는지 확인하기 위해 BannerTextBlock.Text 속성에 대한 데이터팁을 표시해본다.

 [F10]을 사용하면 디버거에서 현재 구문을 넘어가도록 지시한다. [F11]을 사용하면 현재 구문속으로 들어갈 수 있다. 이런 경우는 해당 구문이 메서드 호출을 포함하는 경우, 디버거가 대상 메서드 속으로 들어가 디버깅을 하도록 해준다.

8. 일단 [F10]을 다시 한번 눌러 다음 구문을 실행하고 텍스트 상자의 내용을 지운다. 다시 한번 더  MessageTextBox.Text 속성에 대한 데이터팁을 표시해보고 값이 비었는지 확인하자.

9. 마지막으로 [F5]를 눌러 해당 애플리케이션의 실행을 계속한다. 필요한 경우 에뮬레이터 창의 화면 잠금을 해제 한다.

구성 설정에 의존하기 때문에, 윈도우 폰 에뮬레이터는 잠깐동안 애플리케이션에 입력이 없는 상태로 존재할 때마다 잠금 화면을 보일 수 있다. 애플리케이션으로 돌아가려면, "긋기" 제스처를 사용하자. 이 제스처는 에뮬레이터 창을 클릭하고 이어서 마우스 버튼을 누른채 빠르게 위로 이동하는 것이다.


[그림 41] 윈도우 폰 에뮬레이터에서 실횅중인 HelloPhone 애플리케이션



10. 에뮬레이터에서 [Back] 버튼을 클릭해 이전 페이지를 탐색한다. 이렇게 하면 애플리케이션의 디버깅 세션이 종료되고 첫 페이지를 벗어나게 디고 현재 실행중인 이전 애플리케이션이 없기 때문에 에뮬레이터는 시작 메뉴를 표시한다.

현재 세션 종료후 다시 디버깅을 하려면, [F5]를 눌러 애플리케이션 다시 실행하고 디버거를 연결하면 된다. 하지만 이 작업은 애플리케이션을 다시 시작하게 되고 이전 상태는 더 이상 유지하지 않는다. 에뮬레이터를 종료하면 애플리케이션을 중지하고 디버거를 분리한다. 이렇게 할 경우 비주얼 스튜디오는 디버거를 분리하고 해당 장치에 대한 연결을 잃었다는 메시지를 표시한다.


[그림 42] 애플리케이션 사용을 끝낼 경우 디버깅 세션 종료