다음을 통해 공유


연습 가이드: Visual Basic에서 시각화 도구 작성하기

중요합니다

Visual Studio 2022 버전 17.9부터 새로운 VisualStudio.Extensibility 모델을 사용하여 .NET 6.0+로 out-of-process에서 실행되는 시각화 도구를 작성할 수 있게 되었습니다. 새 모델을 사용하여 만든 확장은 Visual Studio 디버거 시각화 도우미 만들기 의 설명서를 참조하세요. 이전 버전의 Visual Studio를 지원해야 하거나 라이브러리 DLL의 일부로 사용자 지정 시각화 도우미를 제공하려는 경우 이 문서의 정보를 사용합니다. 이 정보는 이전 VSSDK(확장 개발 모델)에만 적용됩니다.

이 연습에서는 Visual Basic을 사용하여 간단한 시각화 도우미를 작성하는 방법을 보여 줍니다. 이 연습에서 만들 시각화 도우미는 Windows Forms 메시지 상자를 사용하여 문자열의 내용을 표시합니다. 이 간단한 문자열 시각화 도우미는 프로젝트에 더 적용할 수 있는 다른 데이터 형식에 대한 시각화 도우미를 만드는 방법을 보여주는 기본 예제입니다.

비고

표시되는 대화 상자 및 메뉴 명령은 활성 설정 또는 버전에 따라 도움말에 설명된 것과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴로 이동하여 가져오기 및 내보내기를 선택합니다. 자세한 내용은 다시 설정참조하세요.

시각화 도우미 코드는 디버거에서 읽을 DLL에 배치되어야 합니다. 첫 번째 단계는 DLL에 대한 클래스 라이브러리 프로젝트를 만드는 것입니다.

클래스 라이브러리 프로젝트 만들기 및 준비

클래스 라이브러리 프로젝트를 만들려면

  1. 새 클래스 라이브러리 프로젝트를 만듭니다.

    Esc 눌러 시작 창을 닫습니다. Ctrl + Q를 입력하여 검색 상자를 열고 클래스 라이브러리를 입력한 다음 Visual Basic 클래스 라이브러리(.NET Framework)를 선택합니다.

    Esc 눌러 시작 창을 닫습니다. Ctrl + Q를 입력하여 검색 상자를 열고, 시각적 기본을 입력하고, 템플릿을 선택한 다음, 새 클래스 라이브러리 만들기(.NET Framework)를 선택합니다.

  2. 클래스 라이브러리에 적절한 이름(예: MyFirstVisualizer)을 입력한 다음 만들기 또는 확인을 클릭합니다.

    클래스 라이브러리를 만들 때 정의된 클래스를 사용할 수 있도록 Microsoft.VisualStudio.DebuggerVisualizers.DLL 대한 참조를 추가해야 합니다. 그러나 먼저 프로젝트에 의미 있는 이름을 지정합니다.

Class1.vb 이름을 바꾸고 Microsoft.VisualStudio.DebuggerVisualizers를 추가하려면

  1. 솔루션 탐색기에서 Class1.vb 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 이름 바꾸기를 클릭합니다.

  2. 이름을 Class1.vb DebuggerSide.vb 같은 의미 있는 이름으로 변경합니다.

    비고

    Visual Studio는 새 파일 이름과 일치하도록 DebuggerSide.vb 클래스 선언을 자동으로 변경합니다.

  3. 솔루션 탐색기에서 내 첫 번째 시각화 도우미를 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 참조 추가를 클릭합니다.

  4. 참조 추가 대화 상자의 찾아보기 탭에서 찾아보기를 선택하고 Microsoft.VisualStudio.DebuggerVisualizers.DLL 찾습니다.

    Visual Studio 설치 디렉터리<\Common7\IDE\PublicAssemblies 하위 디렉터리의 Visual Studio 설치 디렉터리에서> DLL을 찾을 수 있습니다.

  5. OK를 클릭합니다.

  6. DebuggerSide.vb의 Imports 문에 다음 구문을 추가하십시오.

    Imports Microsoft.VisualStudio.DebuggerVisualizers
    

디버거 쪽 코드 추가

이제 디버거 쪽 코드를 만들 준비가 되었습니다. 시각화하려는 정보를 표시하기 위해 디버거 내에서 실행되는 코드입니다. 먼저 기본 클래스DebuggerSide에서 상속되도록 개체의 DialogDebuggerVisualizer 선언을 변경해야 합니다.

DialogDebuggerVisualizer에서 상속하려면

  1. DebuggerSide.vb 다음 코드 줄로 이동합니다.

    Public Class DebuggerSide
    
  2. 다음과 같이 표시되도록 코드를 편집합니다.

    Public Class DebuggerSide
    Inherits DialogDebuggerVisualizer
    

    비고

    DialogDebuggerVisualizer는 FormatterPolicy 생성자에서 인수를 예상합니다. 그러나 Visual Studio 2022 버전 17.11부터 .NET 5.0 이상에 대한 특수 디버거 쪽 고려 사항에 설명된 보안 문제로 인해 시각화 도우미는 포맷터 정책을 지정할 Legacy 수 없습니다.

    DialogDebuggerVisualizer 에는 재정의해야 하는 하나의 추상 메서드 Show가 있습니다.

DialogDebuggerVisualizer.Show 메서드를 재정의하려면

  • 에서 public class DebuggerSide다음 메서드를 추가합니다.

    Protected Overrides Sub Show(ByVal windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService, ByVal objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider)
    
        End Sub
    

    이 메서드는 Show 실제로 시각화 도우미 대화 상자 또는 다른 사용자 인터페이스를 만들고 디버거에서 시각화 도우미에 전달된 정보를 표시하는 코드를 포함합니다. 대화 상자를 만들고 정보를 표시하는 코드를 추가해야 합니다. 이 연습에서는 Windows Forms 메시지 상자를 사용하여 이 작업을 수행합니다. 먼저 Imports에 대한 참조와 System.Windows.Forms 문장을 추가해야 합니다.

System.Windows.Forms를 추가하려면

  1. 솔루션 탐색기에서 참조를 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 참조 추가를 클릭합니다.

  2. 참조 추가 대화 상자의 찾아보기 탭에서 찾아보기를 선택하고 System.Windows.Forms.DLL 찾습니다.

    C:\Windows\Microsoft.NET\Framework\v4.0.30319에서 DLL을 찾을 수 있습니다.

  3. OK를 클릭합니다.

  4. DebuggerSide.cs에서 Imports 문에 다음 문을 추가합니다.

    Imports System.Windows.Forms
    

시각화 도우미의 사용자 인터페이스 만들기

이제 시각화 도우미에 대한 사용자 인터페이스를 만들고 표시하는 코드를 추가합니다. 첫 번째 시각화 도우미이므로 사용자 인터페이스를 단순하게 유지하고 메시지 상자를 사용합니다.

대화 상자에 시각화 도우미 출력을 표시하려면

  1. 메서드에서 Show 다음 코드 줄을 추가합니다.

    MessageBox.Show(objectProvider.GetObject().ToString())
    

    이 예제 코드에는 오류 처리가 포함되지 않습니다. 실제 시각화 도우미 또는 다른 종류의 애플리케이션에 오류 처리를 포함해야 합니다.

  2. 빌드 메뉴에서 MyFirstVisualizer 빌드를 클릭합니다. 프로젝트가 성공적으로 빌드되어야 합니다. 계속하기 전에 빌드 오류를 수정합니다.

필요한 특성 추가

디버거 쪽 코드의 끝입니다. 그러나 한 단계 더 있습니다. 디버기 쪽에 시각화 도우미를 구성하는 클래스 컬렉션을 알려주는 특성입니다.

디버그 측 코드를 시각화할 형식을 추가하려면

디버거 쪽 코드에서 DebuggerVisualizerAttribute 속성을 사용하여 디버그기에서 시각화할 개체 원본의 형식을 지정합니다. 이 속성은 시각화할 Target 형식을 설정합니다.

  1. DebuggerSide.vb 파일에서 Imports 문 다음에, 그러나 namespace MyFirstVisualizer 앞에, 다음 특성 코드를 추가합니다.

    <Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>
    
  2. 빌드 메뉴에서 MyFirstVisualizer 빌드를 클릭합니다. 프로젝트가 성공적으로 빌드되어야 합니다. 계속하기 전에 빌드 오류를 수정합니다.

테스트 하네스 만들기

이 시점에서 첫 번째 시각화 도우미가 완료됩니다. 단계를 올바르게 수행한 경우 시각화 도우미를 빌드하고 Visual Studio에 설치할 수 있습니다. 그러나 Visual Studio에 시각화 도우미를 설치하기 전에 올바르게 실행되는지 테스트해야 합니다. 이제 Visual Studio에 설치하지 않고 시각화 도우미를 실행하는 테스트 하네스를 만듭니다.

시각화 도우미를 표시하는 테스트 메서드를 추가하려면

  1. 클래스 public DebuggerSide에 다음 메서드를 추가합니다.

    Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object)
        Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide))
    visualizerHost.ShowVisualizer()
    End Sub
    
  2. 빌드 메뉴에서 MyFirstVisualizer 빌드를 클릭합니다. 프로젝트가 성공적으로 빌드되어야 합니다. 계속하기 전에 빌드 오류를 수정합니다.

    다음으로 시각화 도우미 DLL을 호출하는 실행 파일을 만들어야 합니다. 간단히 하기 위해 콘솔 애플리케이션 프로젝트를 사용합니다.

솔루션에 콘솔 애플리케이션 프로젝트를 추가하려면

  1. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 추가를 선택한 다음 새 프로젝트를 클릭합니다.

    검색 상자에 Visual Basic을 입력하고 템플릿을 선택한 다음 새 콘솔 앱 만들기(.NET Framework)를 선택합니다. 표시되는 대화 상자에서 만들기선택합니다.

  2. 클래스 라이브러리에 적절한 이름(예: MyTestConsole)을 입력한 다음 만들기 또는 확인을 클릭합니다.

    이제 MyTestConsole에서 MyFirstVisualizer를 호출할 수 있도록 필요한 참조를 추가해야 합니다.

MyTestConsole에 필요한 참조를 추가하려면

  1. 솔루션 탐색기에서 MyTestConsole을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 참조 추가를 클릭합니다.

  2. 참조 추가 대화 상자의 찾아보기 탭에서 Microsoft.VisualStudio.DebuggerVisualizers를 클릭합니다.

  3. OK를 클릭합니다.

  4. MyTestConsole을 마우스 오른쪽 단추로 클릭한 다음 참조 추가를 다시 클릭합니다.

  5. 참조 추가 대화 상자에서 프로젝트 탭을 클릭한 다음 MyFirstVisualizer를 선택합니다.

  6. OK를 클릭합니다.

테스트 하네스 완료 및 시각화 도우미 테스트

이제 코드를 추가하여 테스트 하네스를 완료합니다.

MyTestConsole에 코드를 추가하려면

  1. 솔루션 탐색기에서 Program.vb 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 이름 바꾸기를 클릭합니다.

  2. 이름을 Module1.vb TestConsole.vb 같은 적절한 이름으로 편집합니다.

    Visual Studio는 새 파일 이름과 일치하도록 TestConsole.vb 클래스 선언을 자동으로 변경합니다.

  3. TestConsole에서 vb, 다음 문을 추가합니다.Imports

    Imports MyFirstVisualizer
    
  4. 메서드 Main에서 다음 코드를 추가합니다.

    Dim myString As String = "Hello, World"
    DebuggerSide.TestShowVisualizer(myString)
    

    이제 첫 번째 시각화 도우미를 테스트할 준비가 되었습니다.

시각화 도우미를 테스트하려면

  1. 솔루션 탐색기에서 MyTestConsole을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 시작 프로젝트로 설정을 클릭합니다.

  2. 디버그 메뉴에서 시작을 클릭합니다.

    콘솔 애플리케이션이 시작됩니다. 시각화 도우미가 나타나고 문자열 "Hello, World"가 표시됩니다.

    축하합니다. 방금 첫 번째 시각화 도우미를 빌드하고 테스트했습니다.

    테스트 도구에서 시각화 도우미를 호출하는 대신 Visual Studio에서 시각화 도우미를 사용하려면 설치해야 합니다. 자세한 내용은 방법: 시각화 도우미 설치를 참조하세요.