다음을 통해 공유


NatVis의 네이티브 디버거 개체

개요

네이티브 디버거 개체는 디버거 환경의 다양한 구문과 동작을 나타냅니다. 디버거 개체의 예는 다음과 같습니다.

  • 세션
  • 스레드/스레드
  • 프로세스/프로세스
  • 스택 프레임/스택 프레임
  • 지역 변수
  • 모듈/모듈
  • 유틸리티
  • 시스템 상태
  • 설정

dx 명령과 LINQ를 사용하여 디버거 개체와 상호 작용할 수 있습니다. 자세한 내용은 dx(디버거 개체 모델 식 표시)디버거 개체와 함께 LINQ 사용을 참조하세요.

JavaScript를 사용하여 디버거 개체로 작업할 수도 있습니다. 자세한 내용은 JavaScript 확장의 네이티브 디버거 개체를 참조하세요.

이 항목에서는 사용자 지정 NatVis 시각화 도우미를 만들어 디버거 개체를 표시하는 방법을 설명합니다.

NatVis 개발 리소스

NatVis 작업에 대한 일반적인 정보는 이러한 리소스를 참조하세요.

네이티브 개체의 사용자 지정 보기 만들기

.nvload

.nvlist

.nvunload

.nvunloadall

사용자 지정 NatVis 개체 예제

CDog 클래스의 instance 있는 간단한 C++ 애플리케이션을 만듭니다.

class CDog
{
public:
   CDog(){m_age = 8; m_weight = 30;}
   long m_age;
   long m_weight;
};

int main()
{
   CDog MyDog;
   printf_s("%d, %d\n", MyDog.m_age, MyDog.m_weight);
   return 0;
}

다음 XML을 포함하는 Dog.natvis라는 파일을 만듭니다.

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="https://schemas.microsoft.com/vstudio/debugger/natvis/2010">
   <Type Name="CDog">
      <DisplayString>{{Age = {m_age} years. Weight = {m_weight} pounds.}}</DisplayString>
   </Type>
</AutoVisualizer>

Windows용 디버깅 도구에 대한 설치 디렉터리의 Visualizers 폴더에 Dog.natvis를 복사합니다. 예:

C:\Program Files\Debugging Tools for Windows (x64)\Visualizers

프로그램을 실행하고 기본 함수에서 중단합니다. 변수 MyDog 가 초기화되도록 단계를 수행합니다. ??을 사용하여 표시하고 dx를 사용하여 다시 표시 MyDog 합니다.

0:000> ??MyDog
class CDog
   +0x000 m_age        : 0n8
   +0x004 m_weight     : 0n30
0:000> *
0:000> dx -r1 MyDog
.....
MyDog     : {Age = 8 years. Weight = 30 pounds.} [Type: CDog]

추가 정보

dx(디스플레이 디버거 개체 모델 식)

LINQ와 디버거 개체 사용

JavaScript 확장의 네이티브 디버거 개체