Office 프로젝트 디버깅

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

팁

간단 하 게 디버깅 하려면 빌드 및 디버깅 하기 전에 Office 응용 프로그램의 모든 열린 인스턴스를 닫습니다.

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

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

디버거 시작 및 중지

다른 디버깅을 시작할 때와 동일한 Office 프로젝트 디버깅을 시작할 수 있습니다 Visual Studio 프로젝트입니다. 예를 들어, F5 키를 눌러 있습니다.응용 프로그램 수준 추가 기능 프로젝트 디버깅을 시작 하면 대상된 Office 응용 프로그램에 대 한 새 프로세스를 시작 하 고 추가 기능을 로드 합니다.문서 수준 프로젝트의 디버깅을 시작 하면 문서 또는 통합 문서가 새 Word 또는 Excel 프로세스에서 열립니다.

디버거를 중지하면 디버거는 응용 프로그램 프로세스를 갑자기 종료합니다. 디버거를 분리하도록 설정한 경우 디버거가 분리됩니다.Office 응용 프로그램이 종료 된 프로세스가에 열려 있는 모든 문서도 경고 없이 닫히고 저장 되지 않은 변경 내용을 잃게 됩니다.여기에는 디버거가 실행될 때 열려 있던 모든 문서 또는 통합 문서가 포함될 수 있습니다.

일반적으로, 일반적인 방법으로 Office 응용 프로그램을 종료할 수 있도록 디버거를 중지 하기 전에 프로세스에서 분리 하는 것이 좋습니다.디버거를 중지 한 후 열려 있는 문서 또는 워크시트를 사용 하려는 경우 먼저 프로세스를 분리할 수도 있습니다.프로세스에서 분리하는 방법에 대한 자세한 내용은 방법: 모든 프로세스 분리를 참조하십시오.

Word 용 문서 수준 사용자 지정을 디버깅 하는 경우 반복적인 디버거 중지 인해 Word가 갑자기에 손상 되 고 기본 서식 파일에 될 수 있습니다.이런 현상이 발생한 경우, 손상된 기본 서식 파일을 삭제하면 다음 번에 Word를 열 때 해당 서식 파일이 자동으로 다시 만들어집니다.그러나 기본 서식 파일에 저장된 매크로는 다시 만들어지지 않습니다.

F10 키 및 F11 키 동작

Office 프로젝트 디버깅을 시작하면 F10 키와 F11 키가 다른 Visual Basic 또는 C# 프로젝트 디버깅을 시작할 때와 동일하게 동작하지 않습니다.Visual Basic 또는 C# 프로젝트에서는 디버거가 main 함수에서 중지되고, Office 프로젝트에서는 Visual Studio가 Office 응용 프로그램의 main 함수를 제어할 수 없습니다.그러나 디버깅하는 동안에는 F10 키와 F11 키의 기능이 Visual Basic 및 C# 프로젝트에서의 경우와 동일합니다.

예외 표시

관리 코드가 비관리 코드와 상호 작용하는 방식으로 인해 Visual Studio에서는 Microsoft Office 응용 프로그램에서 throw하는 오류가 표시되지 않습니다.예를 들어, Microsoft Office 응용 프로그램에서는 추가 기능에서 Visual Studio Office 개발 도구를 사용 하 여 만든 예외를 throw 하는 경우 오류를 표시 하지 않고 계속 합니다.이러한 오류를 보려면 공용 언어 런타임 예외가 발생할 때 프로세스가 중단되도록 디버거를 설정합니다.자세한 내용은 방법: 예외가 throw되었을 때 중단을 참조하십시오.

공용 언어 런타임 예외에서 중단 하도록 디버거에 설정 하는 경우 모든 예외에 처리 해야 하는 몇 가지 첫째 예외는 런타임에서 프로젝트에 관련 되지 않은 등, 디버거를 중단 됩니다.찾을 수 없는 msosec에 관한 오류가 모든 프로젝트에 대해 표시되지만 무시해도 좋습니다.이러한 msosec 예외는 솔루션에 영향을 미치지 않습니다.

메서드를 대상으로 Try...Catch 문을 사용하여 예외를 catch할 수도 있습니다.

또한 기본적으로 Visual Studio에서는 Office 프로젝트에 대해 Just-In-Time 디버깅 오류를 표시하지 않지만 발생한 오류를 볼 수 있도록 이 기능을 활성화할 수 있습니다.자세한 내용은 Just-In-Time 디버깅을 참조하십시오.

명령줄 인수

디버그 속성 페이지의 시작 작업시작 프로젝트로 설정한 경우 명령줄 인수를 시작 옵션으로 지정했더라도 프로젝트를 디버깅할 때 Visual Studio에서는 명령줄 인수를 사용하지 않습니다.디버깅을 시작할 때 명령줄 인수를 사용하려면 시작 프로젝트가 아닌 시작 작업을 선택해야 합니다.

소스 제어

디버그 속성은 소스 제어를 사용하는 여러 사용자 간에 공유되지 않습니다.Visual Basic 및 C# 프로젝트 디버깅 속성을 사용자별 파일에 저장 (ProjectName. vbproj.user 또는 ProjectName. csproj.user), 및이 파일이 소스 제어에 않습니다.여러 사용자가 디버깅하는 경우 각각의 사용자는 직접 디버그 속성을 입력해야 합니다.

문서 수준 프로젝트에서 캐시 된 데이터 집합 디버깅

프로젝트를 빌드할 때마다 데이터 집합이 비워진 후 다시 만들어집니다.캐시된 데이터 집합을 디버깅하려면 Visual Studio 외부에서 문서를 연 다음 디버거를 연결해야 합니다.

Word 97-2003 문서(*.doc) 형식 기반의 Word 문서 프로젝트 디버깅

Word 97-2003 문서(*.doc) 형식 기반의 Word 문서 프로젝트를 디버깅하려면 신뢰할 수 있는 폴더 목록에 해당 프로젝트 폴더를 추가해야 합니다.이렇게 하는 방법에 대 한 자세한 내용은 참조 하십시오 문서에 신뢰 부여.

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

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

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

ms269003.collapse_all(ko-kr,VS.110).gif하드 비활성화

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

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

ms269003.collapse_all(ko-kr,VS.110).gif소프트 비활성화

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

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

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

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

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

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

오류를 로그 파일에 기록하려면 VSTO_LOGALERTS라는 환경 변수를 만들고 해당 값을 1로 설정합니다.Microsoft Visual Studio Tools for Office Runtime 추가 기능의 배포 매니페스트가 들어 있는 폴더 또는 문서 또는 사용자 지정과 연결 된 통합 문서가 들어 있는 폴더에서 로그 파일을 만듭니다.실패 하는 경우는 Microsoft Visual Studio Tools for Office Runtime 로컬 %TEMP% 폴더에 로그 파일을 만듭니다.응용 프로그램 수준 추가 기능에 대 한 기본 이름인 추가 기능 이름. vsto.log.문서 수준 프로젝트에 대 한 로그 파일 이름이 문서의 이름을. 확장명Excelworkbook1.xlsx.log와 같이.log입니다.오류 기록을 중지하려면 해당 환경 변수를 삭제하거나 0으로 설정합니다.

참고 항목

작업

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

기타 리소스

Office 솔루션 빌드

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