응용 프로그램 수준 프로젝트의 디버깅

업데이트: 2010년 9월

다른 Visual Studio 프로젝트에 사용하는 것과 동일한 Microsoft Visual Studio 도구를 사용하여 응용 프로그램 수준 프로젝트를 디버깅할 수 있습니다. 응용 프로그램 수준 프로젝트를 디버깅할 때 중단점을 삽입하고 지역 창에서 변수를 보는 기능과 같은 Visual Studio 디버거 기능도 사용할 수 있습니다. Visual Studio 디버깅 도구에 대한 자세한 내용은 Visual Studio의 디버깅을 참조하십시오. 응용 프로그램 수준 프로젝트에 대한 자세한 내용은 응용 프로그램 수준 추가 기능 아키텍처를 참조하십시오.

적용 대상: 이 항목의 정보는 Microsoft Office 2010 및 2007 Microsoft Office system의 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

비디오에 링크 관련 비디오 데모를 보려면 How Do I: Debug a VSTO Application?을 참조하십시오.

디버거 시작 및 중지

다른 Visual Studio 프로젝트의 디버깅을 시작할 때와 동일한 방법으로 응용 프로그램 수준 프로젝트의 디버깅을 시작할 수 있습니다. 예를 들어 F5 키를 눌러 프로젝트 디버깅을 시작할 수 있습니다. 프로젝트 디버깅을 시작하면 대상 Office 응용 프로그램의 프로세스가 시작되고 추가 기능이 로드됩니다. 디버거를 중지하면 디버거는 응용 프로그램 프로세스를 갑자기 종료합니다. 디버거를 분리하도록 설정한 경우 디버거가 분리됩니다. 자세한 내용은 Debugging Shortcut Keys, Brief Scheme를 참조하십시오.

예외 표시

Visual Studio의 Office 개발 도구를 사용하여 만든 추가 기능에서 예외가 throw되어도 Microsoft Office 응용 프로그램은 예외를 표시하지 않고 작업을 계속합니다. 추가 기능 예외가 언제 throw되는지 알려면 디버거가 모든 예외에서 중단되도록 설정합니다. 자세한 내용은 방법: Office 프로젝트의 오류 처리를 참조하십시오.

또한 예외를 throw할 수 있는 코드 주위에 Try...Catch 문을 삽입할 수도 있습니다. Try...Catch 문을 사용하는 방법에 대한 자세한 내용은 방법: Visual Basic에서 Try...Catch 블록을 사용하여 코드 테스트방법: try/catch를 사용하여 예외 처리(C# 프로그래밍 가이드)를 참조하십시오.

비활성화된 추가 기능 디버깅

Microsoft Office 응용 프로그램에서는 예기치 않게 작동하는 추가 기능을 비활성화할 수 있습니다. Microsoft Office 응용 프로그램에서는 추가 기능을 비활성화하여 응용 프로그램이 시작될 때마다 문제가 있는 코드가 로드되지 않도록 합니다. 그러나 일반적인 디버깅 중에 예기치 않은 동작을 발생시키는 것도 간단합니다. 추가 기능을 다시 활성화하는 방법에 대한 자세한 내용은 방법: 비활성화된 추가 기능 다시 활성화를 참조하십시오.

Microsoft Office 응용 프로그램에서 추가 기능에 사용하는 비활성화 방식은 하드 비활성화와 소프트 비활성화의 두 가지입니다.

하드 비활성화

하드 비활성화는 추가 기능으로 인해 응용 프로그램이 예기치 않게 닫힐 때 발생할 수 있습니다. 또한 개발 컴퓨터에서 추가 기능의 Startup 이벤트 처리기가 실행 중일 때 디버거를 중지하면 하드 비활성화가 발생할 수 있습니다. 추가 기능이 하드 비활성화된 경우 해당 추가 기능은 응용 프로그램의 사용할 수 없는 항목 목록에 나타납니다.

Visual Studio의 Office 개발 도구를 사용하여 만든 추가 기능을 Office 응용 프로그램에서 하드 비활성화하는 경우에는 오류를 일으킨 추가 기능만 비활성화됩니다. Visual Studio의 Office 개발 도구를 사용하여 해당 Office 응용 프로그램용으로 만든 다른 추가 기능은 계속 로드됩니다.

소프트 비활성화

소프트 비활성화는 추가 기능에서 오류가 발생했지만 이로 인해 응용 프로그램이 예기치 않게 닫히지는 않는 경우에 발생합니다. 예를 들어 Startup 이벤트 처리기가 실행 중일 때 처리되지 않은 예외가 throw되면 응용 프로그램에서 추가 기능을 소프트 비활성화할 수 있습니다. 소프트 비활성화된 추가 기능은 응용 프로그램의 비활성 응용 프로그램 추가 기능 목록에 나타나고, 응용 프로그램에서는 해당 추가 기능이 언로드되었음을 나타내기 위해 추가 기능의 LoadBehavior 레지스트리 항목 값을 변경합니다. LoadBehavior 레지스트리 항목에 대한 자세한 내용은 응용 프로그램 수준 추가 기능에 대한 레지스트리 항목를 참조하십시오.

이벤트 뷰어를 사용하여 설치 오류 문제 해결

Microsoft Visual Studio Tools for Office Runtime에서는 Office 솔루션을 설치하거나 제거할 때 throw되는 모든 예외에 대한 메시지를 Windows의 이벤트 뷰어에 기록합니다. 이러한 메시지를 사용하여 설치 및 배포 문제를 해결할 수 있습니다. 자세한 내용은 Office 솔루션에 대한 이벤트 로깅을 참조하십시오.

로그 파일 및 오류 메시지를 사용하여 시작 오류 문제 해결

Microsoft Visual Studio Tools for Office Runtime에서는 시작하는 동안 발생하는 모든 오류를 로그 파일에 쓰거나 메시지 상자에 각 오류를 표시할 수 있습니다. 기본적으로 이러한 옵션은 해제되어 있습니다. 환경 변수를 만들어 옵션을 설정할 수 있습니다.

각 오류를 메시지 상자에 표시하려면 VSTO_SUPPRESSDISPLAYALERTS라는 환경 변수를 만들고 해당 값을 0으로 설정합니다. 이 환경 변수를 삭제하거나 1로 설정하면 메시지를 표시하지 않을 수 있습니다.

오류를 로그 파일에 기록하려면 VSTO_LOGALERTS라는 환경 변수를 만들고 해당 값을 1로 설정합니다. Microsoft Visual Studio Tools for Office Runtime에서는 로그 파일을 추가 기능의 배포 매니페스트가 들어 있는 폴더에 만들거나, 이 작업에 실패할 경우 로컬 %TEMP% 폴더에 만듭니다. 기본 이름은 add-in name.vsto.log입니다. 오류 기록을 중지하려면 해당 환경 변수를 삭제하거나 0으로 설정합니다.

참고 항목

작업

방법: 비활성화된 추가 기능 다시 활성화

방법: Office 프로젝트의 오류 처리

기타 리소스

Office 솔루션 빌드 및 디버깅

응용 프로그램 수준 추가 기능 프로그래밍

변경 기록

날짜

변경 내용

이유

2010년 9월

이벤트 뷰어를 사용하여 설치 오류의 문제를 해결하는 단원을 추가했습니다.

향상된 기능 관련 정보

2010년 5월

오류 기록에 대한 몇 가지 정보를 수정했습니다.

콘텐츠 버그 수정