문서 수준 프로젝트의 디버깅

업데이트: 2010년 9월

다른 프로젝트에 사용하는 것과 동일한 Visual Studio 도구를 사용하여 Microsoft Office Word 및 Microsoft Office Excel용 문서 수준 프로젝트를 디버깅할 수 있습니다. 디버그 모드에서 프로젝트를 실행하면 Visual Studio를 통해 Word 또는 Excel이 시작되고 Word 또는 Excel의 경우와 동일하게 실행되는 모든 프로세스에 디버거가 연결됩니다. Visual Studio 디버깅 도구에 대한 자세한 내용은 Visual Studio의 디버깅을 참조하십시오.

충돌을 방지하려면 빌드 및 디버깅하기 전에 Word 또는 Excel의 열려 있는 인스턴스를 모두 닫으십시오.

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

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

F10 키 및 F11 키 동작

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

디버거 중지

문서 또는 통합 문서에 대한 디버깅을 시작하면 문서 또는 통합 문서가 새 Word 또는 Excel 프로세스에서 열립니다. 디버거를 중지하면 디버거는 Word 또는 Excel 프로세스를 갑자기 종료시킵니다. 디버거를 분리하도록 설정한 경우에는 디버거가 분리됩니다. 종료된 Word 또는 Excel 프로세스에서 열려 있던 다른 문서나 통합 문서도 모두 경고 없이 닫히고 저장되지 않은 변경 사항은 모두 손실됩니다. 여기에는 디버거가 실행될 때 열려 있던 모든 문서 또는 통합 문서가 포함될 수 있습니다.

정상적으로 Word 및 Excel을 종료할 수 있도록 디버거를 중지하기 전에 프로세스에서 분리하는 것이 좋습니다. 디버거를 중지한 후 열려 있는 문서 또는 워크시트에서 계속 작업하려면 먼저 디버거를 프로세스에서 분리해야 합니다. 프로세스에서 분리하는 방법에 대한 자세한 내용은 방법: 모든 프로세스 분리를 참조하십시오.

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

Word가 Visual Studio에서 열리면 기본 서식 파일이 잠김

Word가 Visual Studio에서 열리면 기본 서식 파일이 잠깁니다. 디버깅을 위해 솔루션을 실행하면 다른 프로세스에서 Word의 복사본이 열립니다. 열린 Word 복사본에 응용 프로그램 수준 사용자 지정을 적용하더라도 Visual Studio 내에 열려 있는 프로세스에 의해 기본 서식 파일이 잠기기 때문에 해당 변경 사항을 저장할 수 없습니다.

런타임에 Word가 별도의 문서 인스턴스를 단일 프로세스에서 열기 때문에 열린 문서가 기본 서식 파일을 잠그고 응용 프로그램 수준의 변경을 하지 못하게 하는 일이 없습니다.

자세한 내용은 기술 자료 문서 "PRB: Prompt to Save Normal.dot When Using Word as an Automation Server"(https://support.microsoft.com/default.aspx?scid=kb;ko-kr;285885)를 참조하십시오.

캐시된 데이터 집합 디버깅

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

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

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

소스 제어

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

명령줄 인수

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

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

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% 폴더에 만듭니다. 로그 파일의 이름은 document name.extension.log(예: ExcelWorkbook1.xlsx.log)입니다. 오류 기록을 중지하려면 해당 환경 변수를 삭제하거나 0으로 설정합니다.

참고 항목

작업

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

개념

Office 솔루션 빌드 프로세스 개요

기타 리소스

Visual Studio의 디버깅

Office 솔루션 배포

Office 솔루션 디자인 및 만들기

Office 솔루션 빌드 및 디버깅

변경 기록

날짜

변경 내용

이유

2010년 9월

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

향상된 기능 관련 정보

2010년 5월

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

콘텐츠 버그 수정