OFF: 디버깅 도구 Visual Basic 편집기 개요

기술 자료 번역 기술 자료 번역
기술 자료: 165517 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft Visual Basic Editor 디버깅 도구를 VBA 매크로 코드 사용하여 문제를 해결하는 데 사용할 수 있는 풍부한 집합을 제공합니다. 이 문서에서는 VBA 코드 디버깅하려면 사용하는 몇 가지 일반적인 디버깅 기술을 설명합니다.

참고: 이 문서에는 매크로 코드 및 코드를 올바르게 컴파일합니다 수 있지만 예상대로 수행할 만들기 위해 Visual Basic Editor 사용 중인 것으로 가정합니다.

추가 정보

Microsoft는 보증 묵시적인, 상품성 및 특정 목적에 맞는 적합성에 대한 묵시적인된 보증을 위해 제한되지 않는 없이 예제로, 프로그래밍 예제를 제공합니다. 이 문서에서는 가정합니다 프로시저를 작성하고 디버깅하는 데 사용되는 도구 및 여기서 프로그래밍 언어에 익숙한. Microsoft 지원 전문가가 특정 절차에 대한 기능을 설명할 도움이 수 있지만 추가 기능을 제공하거나 특정 목적에 맞도록 프로시저를 구성하지는 이 예제를 수정하지 않습니다.
프로그래밍 환경이 제한된 Microsoft 인증 파트너가 문의하거나 Microsoft 자문 서비스 할 수 있습니다. 자세한 내용을 보려면 이러한 Microsoft 웹 사이트를 방문하십시오.

Microsoft 파트너 - https://partner.microsoft.com/global/30000104 인증

Microsoft 권고 서비스 - http://support.microsoft.com/gp/advisoryservice

사용 가능한 지원 옵션에 대한 및 Microsoft 연락하는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS여러 가지 방법을 사용하여 VBA 코드 디버깅. 일반적으로 사용되는 기술의 일부 이 문서에 설명되어 있습니다.

메시지 상자를 사용하여 코드 디버그

매크로에서 특정 단계에서 변수의 값을 확인하려면 가장 기본적인 방법은 메시지 상자에 해당 값을 표시할 것입니다. 디버깅을 사용할 수 있는 메시지 상자를 디버깅을 마친 후 제거해야 합니다.

디버깅을 위한 메시지 상자를 사용하여 검사할 변수를 사용하여 코드 줄을 직후에 MsgBox 함수를 코드를 입력하십시오. 예를 들어, 다음 구문을 사용하여
   MsgBox <NameOfVariable>
				
<nameofvariable>는 확인할 변수 이름입니다.

다음 예제 매크로는 변수 "i" 값이 변경될 때마다 메시지 상자를 표시하는:
   Sub MsgBoxCheck()

      Dim i

      For i = 1 to 5

        MsgBox i

      Next i

   End Sub
				
MsgBox 함수에 대한 자세한 내용은 Office 길잡이를 Visual Basic Editor에서 (인용 부호 제외) MsgBox", 검색 을 클릭하고 입력한" MsgBox 행사 "항목을 보려면 클릭하십시오.

참고: 길잡이가 숨겨져 표준 도구 모음에서 알림 단추를 클릭하십시오. 응용 프로그램 도움말 VBA 컴퓨터에 설치되어 있지 Microsoft 기술 자료 문서에서 참조하십시오.
120802사무실: 추가/제거 단일 Office 프로그램 또는 구성 방법

중단점 사용

매크로에서 특정 문에서 실행 중인 매크로와 일시 중단점을 설정할 수 있습니다. 일반적으로 중단점을 설정할 수 문제가 있는 미리 의심되는. 필요 없는 매크로를 중지시킬 수 있도록 중단점을 지웁니다.

중단점 설정

중단점을 설정하려면 다음 방법 중 하나를 사용하십시오.

방법 1:

  1. 중지하려면 매크로 설정할 코드 줄의 아무 곳이나 클릭하십시오.

    깜박이는 포인터가 나타납니다.
  2. 디버그 메뉴에서 중단점 설정/해제를 클릭하거나 F9 키를 누릅니다.

    중단점을 코드 줄 이전에 정의되지 않았습니다) 가정할 중단점은 코드의 해당 줄로 정의됩니다.
방법 2:

  1. 중단점이 포함된 코드 줄을 마우스 단추로.
  2. 바로 가기 메뉴에서 전환을 가리킨 다음 중단점을 클릭하십시오.
이 코드를 실행하면 중단점을 포함하는 코드 첫 줄에 매크로를 중단합니다. 참고 둘 이상의 중단점이 매크로를 사용할 수 있습니다.

중단점 지우기

  1. 제거할 중단점이 포함된 코드 줄을 아무 곳이나 클릭하십시오.
  2. 디버그 메뉴에서 중단점 설정/해제를 클릭하거나 F9 키를 누릅니다. 코드 줄에서 중단점이 제거됩니다.
참고: 중단점 코드와 함께 저장되지 않습니다. 따라서 모든 디버깅 세션에 대한 중단점 구성해야 합니다.

중단 모드 사용

코드를 일시 때 예를 들어, 중단점을 발견한 경우 매크로를 중단 모드로 설정되어. 중단 모드 매크로의 현재 상태를 볼 수 있습니다. 매크로를 중단 모드에 있을 때 해당 변수의 값을 볼 수 있습니다. 또한 매크로 논리를 추적 한 번에 한 줄씩 코드 단계별로 수 있습니다.

중단 모드 입력

중단 모드 한 가지 방법은 매크로 시작 부분에서 코드를 단계별로 포함됩니다. 다음 이 단계를 수행하십시오.

  1. 매크로의 첫 번째 명령에서 포함된 코드 줄을 클릭하십시오.
  2. 디버그 메뉴에서 한 단계씩 코드 실행 클릭하십시오.

    첫째 코드 줄 왼쪽에 화살표가 나타납니다.
  3. 디버그 메뉴에서 클릭하십시오.

    이 단계에서는 다음 명령으로 화살표를 이동합니다. 강조 표시된 명령의 함수, 하위, 또는 속성 프로시저를 경우 프로시저 명령을 사용하여 프로시저를 실행합니다 단위로 코드를 한 단계씩 않고.

    줄 단위로 프로시저를 단계별로 단계씩 클릭하십시오.

    참고: 디버그 메뉴 명령을 사용할 디버그 도구 모음에서 수 있습니다.

중단 모드 끝내기

중단 모드를 끝내려면 실행 메뉴에서 원래대로를 클릭하십시오. 중단 모드 세션을 종료합니다.

도구 설명 사용

중단 모드를 사용하면 설명을 지정한 변수의 현재 값을 나타냅니다.

설명에 표시된 샘플 값을 보면 다음과 같이 하십시오.

  1. Visual Basic 모듈에서 다음 예제 서브루틴을 입력합니다:
          Sub Test()
    
             Dim Name As String
             Name = "Kerry"
             Name = "Nancy"
    
          End Sub
    						
  2. 디버그 메뉴에서 단계씩 클릭하거나 F8 서브루틴 단계별로.

    단계씩 다시 이름 = "Kerry" 줄을 강조 표시될 때까지 클릭하고 이름 변수를 위로 포인터를 이동하십시오.

    다음 텍스트가 포함된 도구 설명이 나타납니다.:
          Name = ""
    						
  3. F8을 키를 눌러 이름 변수를 할당하는 코드 줄을 실행합니다.

    이름 = "백지영" 줄은 강조 표시됩니다.
  4. 이름 변수 위에 포인터를 놓습니다. 다음 텍스트가 포함된 도구 설명이 나타납니다.:
          Name = "Kerry"
    						
중단 모드에 대한 자세한 내용은 Office 길잡이를 Visual Basic Editor에서 단계"(인용 부호 제외), 검색 을 클릭하고 입력한 보려면 클릭하십시오 있는" 한 단계, 단계, 조치 및 단계 출력 명령 (디버그 메뉴) "항목.

참고: 길잡이가 숨겨져 표준 도구 모음에서 알림 단추를 클릭하십시오. 응용 프로그램 도움말 VBA 컴퓨터에 설치되어 있지 Microsoft 기술 자료 문서에서 참조하십시오.
120802사무실: 추가/제거 단일 Office 프로그램 또는 구성 방법

직접 실행 창을 사용하여

직접 실행 창에 코드에 디버그 문을 또는 직접 실행 창에 직접 입력한 명령의 결과 정보를 표시합니다. 직접 실행 창에 응용 프로그램 문 가장 유효한 VBA 평가할 수 있습니다.

직접 실행 창에 표시

직접 실행 창을 표시하려면 보기 메뉴에서 직접 실행 창에 클릭하거나 Ctrl + G를 누릅니다.

디버그 개체 사용

디버그 개체를 사용하여 정보를 직접 실행 창에 인쇄합니다. 디버그 개체를 하나의 메서드를 사용할 수 있습니다. 이 메서드는 인쇄 메서드입니다. 다음 예제에서는 디버그 개체와 Print 메서드를:
   Sub DebugTest()

      ' Prints a string in the Immediate window.
      Debug.Print "This text is written in the Immediate window"

      ' Prints a floating point and an integer value.
      Debug.Print 2.3, 5

      ' Outputs text and numbers.
      Debug.Print "Print the number " & 2 & "."

   End Sub
				
디버그 개체에 대한 자세한 내용은 Office 길잡이를 클릭하세요 Visual Basic 편집기에서 형식 "디버그" (인용 부호 제외) 검색 을 클릭한 다음 을 디버그 개체 "항목을 보십시오.

직접 실행 창 지우기

매크로가 끝날 때 직접 실행 창에 Debug.Print 문 또는 직접 실행 창에 직접 입력한 텍스트를 사용하여 인쇄된 텍스트를 지워지지 않습니다. 이 동작은 의도적으로입니다. 매크로를 실행하면 직접 실행 창에 나타나는 출력을 확인할 수 있습니다.

직접 실행 창을 지우려면 다음과 같이 하십시오.

  1. 직접 실행 창을 클릭하십시오.
  2. 편집 메뉴에서 모두 선택을 클릭하십시오.
  3. 편집 메뉴에서 지우기를 클릭하거나 잘라내기.

직접 실행 창에 입력할 명령

직접 실행 창에 직접 명령을 입력할 수 있습니다. 예를 들어, Office 프로그램의 이름을 확인하려면
   ?Application.Name
				
Enter 키를 누릅니다.

Enter 키를 누르면 다음과 유사한 정보가 나타납니다:
   ?Application.Name
   Microsoft PowerPoint
				
참고: 직접 실행 창에 문을 입력할 중단 모드에 있어야 있습니다 합니다.

직접 실행 창에 대한 자세한 내용은 Office 길잡이를 클릭하세요 Visual Basic 편집기에서 형식 "직접 실행 창" (인용 부호 제외) 검색을 누르고 "사용 있는 직접 실행 창" 항목을 보려면 클릭하십시오.

지역 창을 사용하여

중단 모드를 사용하면 지역 창을 자동으로 표시합니다 선언된 모든 변수의 형식과 값을 현재 프로시저.

다음 예제에서는 지역 창을 보여 줍니다. 창을 사용하여 다음 단계를 따르십시오.

  1. Visual Basic 모듈에서 다음 코드를 입력합니다:
          Sub LocalsTest()
             Dim x As Long, y As Long, z As Long
             x = 1
             y = 2
             z = x + y
          End Sub
    						
  2. 때까지 코드 단계별로 해당 "y = 2" 줄이 강조 표시됩니다. 다음 이 단계를 수행하십시오.

    1. F8 키를 누르거나 디버그 메뉴에서 한 단계씩 코드 실행 클릭하십시오.
    2. F8 키를 세 번 있도록 y = 2 줄이 강조 표시됩니다.
  3. 지역 창이 표시되어 있지 않으면 클릭하여 지역 창 보기 메뉴.
  4. 때, "y = 2" 줄을 강조, 지역 창 다음과 유사합니다.
          Expression      Value              Type
          ---------------------------------------
    
          x                   1              Long
          y                   0              Long
          z                   0              Long
    						
  5. F8 키를 눌러 실행할 y = 2 선. 지역 창을 표시하십시오. 식 y 값이 2. 다음 줄을 실행하면 (Z = x + y), Z 3 값이 할당됩니다.
  6. 다음 줄을 실행하기 전에 y 값을 5로 변경하십시오. 다음 이 단계를 수행하십시오.

    1. 지역 창 (2) y 값을 클릭하십시오.
    2. 5 값을 변경하고 Enter 키를 누릅니다.
    3. F8 키를 눌러 실행할 때 "z = x + y" 줄.

      지역 창을 다음과 유사합니다.
               Expression      Value              Type
               ---------------------------------------
      
               x                   1              Long
               y                   5              Long
               z                   6              Long
      								

조사식 창을 사용하여

조사식 창에 해당 변수의 값을 모니터링할 수도 있습니다. 지역 창에는 달리 값을 자동으로 채워지지 않습니다; 조사식 창에 나타나는 값을 수동으로 추가해야 합니다.

참고: 수 수 있습니다. 추가 값을 조사식 창에 중단 모드를 사용하는 경우 전용; 따라서 사용해야 합니다 중단 모드에서 다음과 같은 방법을 사용할 수 있습니다.

조사식 창에 변수를 추가하려면 다음 방법 중 하나를 사용하십시오.

방법 1

  1. 마우스 오른쪽 단추로 변수를 조사식 창에 추가합니다. 변수를 발생을 클릭할 수 있습니다.
  2. 바로 가기 메뉴에서 조사식 추가를 클릭하십시오.

    식 필드를 클릭하면 변수의 이름을 1단계 표시해야 합니다.

    조사식 창에서 식을 추가할 수도 있습니다.

방법 2

  1. 디버그 메뉴에서 클릭하여 조사식 추가.
  2. 원하는 평가 확인을 식을 입력하십시오.
조사식 창에서 식을 추가하는 방법에 대한 자세한 내용은 Office 길잡이를 Visual Basic Editor에서 "조사식의" (인용 부호 제외), 검색 을 클릭하고 입력한 "보기 식 추가" 항목을 보려면 클릭하십시오.

호출 스택을 사용

중단 모드에서 호출 스택을 사용하여 현재 프로시저 호출 목록 표시 프로시저에서 코드를 실행할 프로시저가 현재 프로시저가 호출 목록이 추가됩니다. 프로시저가 다른 프로시저를 호출하는 경우 이가 추가될 때마다 목록에 있습니다. 컨트롤을 호출할 프로시저를 호출한 프로시저로 반환될 때 해당 목록에서 제거됩니다. 직접 실행 창에서 라는 프로시저는 호출 목록에 추가됩니다.

조건부 컴파일 사용

조건부 컴파일을 사용하여 코드 블록을 선택적으로 실행하도록 수 있습니다. 다음 예제 매크로는 조건부 컴파일을 사용하여:
   Sub Test()

      #Const Debugging = 1

      Dim Name As String: Name = "Nancy"

      ' If you are debugging, change the Debugging constant to 0.
      #If Debugging = 0 Then

         ' This debug statement is not executed unless the Debugging
         ' constant is equal to zero.
         Debug.Print Name

      #End If

      Name = "Kerry"

   End Sub
				
이 동작을 의 경우 # If... Then... # Else 조건부 컴파일 지시문과 함께 동일합니다 If... Then... Else 문을. 그러나 조건부 컴파일 과정에서 제외된 코드는 최종 실행 파일에서 완전히 생략하면, 따라서 조건부 컴파일을 사용하면 단점이 없는 크기 또는 성능.

속성

기술 자료: 165517 - 마지막 검토: 2007년 1월 19일 금요일 - 수정: 3.5
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Excel 98 for Macintosh
  • Microsoft Word 98 for Macintosh
  • Microsoft PowerPoint 98 for Macintosh
  • Microsoft Word 97 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
  • Microsoft Office 97 Standard Edition
키워드: 
kbmt kbcode kbfaq kbinfo kbprogramming KB165517 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기