다음을 통해 공유


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

업데이트: 2007년 11월

적용 대상

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

프로젝트 형식

  • 문서 수준 프로젝트

Microsoft Office 버전

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

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

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

팁:

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

F10 키 및 F11 키 동작

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

디버거 중지

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

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

디버거를 중지하고 열려 있는 문서 또는 워크시트에서 계속 작업하려면 먼저 디버거를 프로세스에서 분리한 다음 디버거를 중지해야 합니다. 자세한 내용은 방법: 모든 프로세스 분리를 참조하십시오.

Visual Studio에서 Word가 열리면 Normal.dot가 잠김

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

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

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

캐시된 데이터 집합 디버깅

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

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

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

소스 제어

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

명령줄 인수

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

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

Visual Studio Tools for Office에서는 모든 오류를 로그 파일에 기록할 수 있습니다. 기본적으로 이 옵션은 Word 및 Excel 프로젝트에 대해 해제되어 있습니다. VSTO_LOGALERTS 환경 변수를 추가하고 값을 1로 설정하여 이 옵션을 설정할 수 있습니다. Visual Studio Tools for Office에서는 솔루션 문서가 만들어진 출력 폴더에 로그 파일을 만들며 해당 폴더에서 실패한 경우에는 %TEMP% 폴더에 만듭니다. 로그 파일의 기본 이름은 Word의 경우 <Documentname>.doc.log이고 Excel의 경우 <Documentname>.xls.log입니다. 해당 변수를 0으로 설정하면 메시지 기록을 중지할 수 있습니다.

Visual Studio Tools for Office에서는 Word 및 Excel 프로젝트의 경우 각 오류가 메시지 상자에 기본적으로 표시됩니다. VSTO_SUPPRESSDISPLAYALERTS 환경 변수를 추가하고 값을 1로 설정하면 Visual Studio Tools for Office에서 오류 메시지를 표시하지 않게 할 수 있습니다. 오류 메시지를 표시하려면 변수를 0으로 설정합니다.

Microsoft Windows XP에서 환경 변수를 설정하는 방법에 대한 내용은 "How To Manage Environment Variables in Windows XP"(https://support.microsoft.com/kb/310519/ko)를 참조하십시오.

참고 항목

작업

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

개념

Office 솔루션 배포(2003 시스템)

Office 솔루션 배포(2007 시스템)

Visual Studio에서 Office 솔루션 만들기

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

기타 리소스

Visual Studio의 디버깅

Office 솔루션 빌드 및 디버깅