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

업데이트: 2007년 11월

적용 대상

이 항목의 정보는 지정된 Visual Studio Tools for Office 프로젝트 및 Microsoft Office 버전에만 적용됩니다.

프로젝트 형식

  • 문서 수준 프로젝트

Microsoft Office 버전

  • 2007 Microsoft Office system

  • Microsoft Office 2003

자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

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

디버거 시작 및 중지

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

예외 표시

Visual Studio Tools for 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 Tools for Office를 사용하여 만든 추가 기능을 Microsoft Office 2003 응용 프로그램에서 하드 비활성화하는 경우 추가 기능뿐만 아니라 AddinLoader.dll도 비활성화됩니다. AddinLoader.dll은 Visual Studio Tools for Office를 사용하여 만든 추가 기능을 로드하는 데 사용됩니다. 따라서 현재 사용자는 Visual Studio Tools for Office를 사용하여 해당 Microsoft Office 2003 응용 프로그램용으로 만든 추가 기능을 모두 로드할 수 없게 됩니다. AddinLoader.dll에 대한 자세한 내용은 응용 프로그램 수준 추가 기능 아키텍처를 참조하십시오.

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

소프트 비활성화

추가 기능의 생성자 또는 Startup 이벤트 처리기에서 처리되지 않은 예외가 throw되고 Microsoft Office 응용 프로그램이 예기치 않게 종료되지 않는 경우 소프트 비활성화가 발생합니다. 응용 프로그램에서는 현재 사용자에 대해 현재 추가 기능만 로드되지 못하도록 비활성화할 수 있습니다. 응용 프로그램에서는 추가 기능을 소프트 비활성화할 때 해당 추가 기능에 대한 LoadBehavior 레지스트리 항목의 값을 2로 설정합니다. LoadBehavior 항목은 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\<application name>\Addins\<add-in name>이라는 레지스트리 키 아래에 있습니다. 이 레지스트리 키에 대한 자세한 내용은 응용 프로그램 수준 추가 기능에 대한 레지스트리 항목을 참조하십시오.

로그 파일 및 오류 메시지를 사용하여 추가 기능 문제 해결

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

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

오류를 로그 파일에 기록하려면 VSTO_LOGALERTS라는 환경 변수를 만들고 해당 값을 1로 설정합니다. Visual Studio Tools for Office 런타임에서는 응용 프로그램 매니페스트가 들어 있는 폴더에 로그 파일을 만듭니다. 기본 이름은 <Manifestname>.manifest.log입니다. 오류 기록을 중지하려면 해당 환경 변수를 삭제하거나 0으로 설정합니다. 

참고 항목

작업

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

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

개념

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

기타 리소스

Office 솔루션 빌드 및 디버깅