Visual Studio 2010에서 Expression Blend 응용 프로그램 디버깅
Microsoft Expression Blend는 풍부한 기능의 Microsoft Windows용 Windows Presentation Foundation (WPF) 응용 프로그램 및 웹용 Microsoft Silverlight 응용 프로그램을 만들기 위한 디자인 응용 프로그램입니다. 역시 Microsoft Windows 응용 프로그램을 빌드할 때 사용되는 도구인 Microsoft Visual Studio 2010 에서 Expression Blend 프로젝트를 열고, 빌드하고, 디버그할 수 있습니다. Expression Blend의 프로젝트 실행(F5 키) 기능을 사용하여 응용 프로그램을 디버그하는 데 문제가 있는 경우 Visual Studio 2010을 사용하여 런타임 오류에 대한 자세한 오류 메시지를 확인할 수 있습니다. 경우에 따라, 내부적으로 발생하는 문제를 파악할 때까지 XAML이나 코드를 다양하게 변경해 보면서 런타임 오류를 해결할 수도 있습니다. 그러나 실제로는 응용 프로그램이 실행되는 동안 한 줄씩 단계별로 코드를 실행하여 내부적으로 발생하는 문제를 파악하는 것이 더 빠릅니다.
한 줄씩 단계별로 코드 실행
Visual Studio 2010에서 Expression Blend 프로젝트를 엽니다.
확인하려는 코드 한 줄을 클릭하고 F9 키를 눌러 중단점을 설정합니다. 처음부터 시작해서 단계별로 코드를 실행하려면 Window1.xaml.cs 파일의 this.InitializeComponent(); 줄에 중단점을 설정합니다.
F5 키를 눌러 응용 프로그램을 시작합니다.
중단점이 있는 줄이 호출될 때까지 Visual Studio 2010이 응용 프로그램을 빌드하고 실행합니다. 해당 지점에서 응용 프로그램 실행이 중지되고 Visual Studio 2010에 중단점이 있는 파일이 표시되며 다음에 실행될 줄에는 노란색 화살표가 표시됩니다.
디버그 메뉴에는 단계별 코드 실행에 대한 세 가지 옵션이 있습니다.
한 단계씩 코드 실행(F11 키)을 선택하면 코드의 다음 줄을 실행하고 해당 줄이 함수 호출이면 해당 함수 호출의 첫 줄로 이동합니다.
프로시저 단위 실행(F10 키) 역시 코드의 다음 줄을 실행하지만 해당 줄이 함수 호출이면 해당 함수를 실행하고 함수 호출의 다음 줄로 이동합니다.
프로시저 나가기(Shift+F11)를 선택하면 함수 호출을 벗어납니다.
가장 일반적으로 사용되는 옵션은 프로시저 단위 실행(F10 키)입니다. 단계별로 코드를 실행하는 동안, 현재 실행되고 있는 코드 경로를 확인하고 코드가 예상 순서에 따라 제대로 실행되고 있는지 확인할 수 있습니다.
지역 패널에서 현재 인스턴스화된 변수와 해당 변수에 포함된 값을 확인할 수 있습니다. 단계별로 코드를 실행하는 동안 지역 패널에 있는 변수의 값이 업데이트됩니다. 따라서 루프가 예상한 횟수만큼 호출되지 않는다고 판단되는 경우, 예상되는 값이 변수에 없다고 판단되는 경우 또는 필요한 변수가 사라져 범위를 벗어난 경우, 응용 프로그램을 디버그할 수 있습니다.
WPF 브라우저 응용 프로그램 디버깅
브라우저에서 실행되는 WPF 브라우저 응용 프로그램을 디버그하려면 Visual Studio 2010 Standard Edition 이상에서 제공되는 프로세스에 연결 기능을 사용해야 합니다. 다음 절차를 수행합니다.
프로젝트를 한 번 이상 빌드하고 실행하여 디버그 파일을 만듭니다.
명령줄에 다음 줄을 입력하고 Enter 키를 누릅니다.
%SystemRoot%\system32\PresentationHost.exe -debug
디버그 모드로 WPF 프로세스가 시작됩니다.
Visual Studio 2010에서 WPF 브라우저 응용 프로그램 프로젝트가 열립니다.
프로젝트 메뉴에서 속성을 클릭합니다. 디버그 탭에서 비관리 코드 디버깅 사용을 선택합니다. 속성 창을 닫습니다.
디버그 메뉴에서 프로세스에 연결을 클릭합니다.
프로세스에 연결 창에서 연결 대상 옆에 있는 선택을 클릭합니다. 다음 코드 형식 디버깅에서 관리 및 네이티브를 선택하고 확인을 클릭합니다. 사용 가능한프로세스****에서 PresentationHost.exe를 선택합니다. 연결을 클릭하여 디버깅을 시작합니다.
Windows 탐색기에서 프로젝트의 bin\Debug 폴더에 있는 응용 프로그램의 .xbap 파일을 두 번 클릭합니다.
기본 브라우저에서 응용 프로그램이 시작됩니다. 중단점을 설정한 경우 응용 프로그램 실행이 중지되고 Visual Studio 2010에 해당 중단점이 있는 파일이 표시되며 다음에 실행될 줄에는 노란색 화살표가 표시됩니다. 여기서부터는 표준 절차에 따라 코드를 단계별로 실행할 수 있습니다.
디버깅에 대한 자세한 내용은 MSDN의 Debugging in Visual Studio (Visual Studio의 디버깅)를 참조하십시오.
Visual Studio 2010에서 런타임 XAML 오류 디버깅
런타임에 XAML 오류가 발생하면 <PropertyGroup>
섹션의 프로젝트 파일(.csproj 또는 .vbproj)에 다음 줄을 추가하여 오류의 원인이 되는 XAML 줄에 대한 정보를 가져올 수 있습니다.
<XamlDebuggingInformation>true</XamlDebuggingInformation>
응용 프로그램의 크기를 늘리므로 빌드의 디버그 버전에서 이 프로젝트 파일 속성은 기본적으로 true로만 설정됩니다.
일반적인 디버깅
버그의 원인이나 응용 프로그램에서 버그가 발생한 위치를 파악하기는 쉽지 않지만, 발생할 수 있는 버그 유형을 이해해 두면 버그 해결에 도움이 될 것입니다. 자세한 내용은 Expression Blend 응용 프로그램 디버깅을 참조하십시오.
Copyright ⓒ 2011 by Microsoft Corporation. All rights reserved.