소개
Snoop은 WPF 애플리케이션의 시각적 트리와 논리 트리를 실시간으로 탐색하고 속성을 수정할 수 있는 오픈소스 디버깅 유틸리티입니다. Pete Blois가 처음 만들고 현재 Bastian Schmidt가 유지 관리하며, 디버거 없이도 실행 중인 WPF 애플리케이션의 속성 값을 변경하거나 트리거를 확인하고 속성 변경 시 브레이크포인트를 설정할 수 있습니다. .NET Framework 4.6.2 이상 또는 .NET 6 이상에서 실행되며, 개발자와 테스터가 UI 문제를 진단하고 동작을 분석하는 데 유용합니다.
상세정보
시각적 트리 및 논리 트리 탐색
실행 중인 WPF 애플리케이션의 시각적 트리, 논리 트리 및 자동화 트리를 브라우징할 수 있습니다. 트리 구조를 계층적으로 보고 각 요소의 속성을 검사할 수 있습니다.
속성 값 수정 및 트리거 보기
선택된 요소의 속성 값을 실시간으로 변경할 수 있으며, 트리거 탭에서 트리거 조건과 동작을 확인할 수 있습니다. 이는 스타일과 애니메이션 문제를 디버깅하는 데 유용합니다.
속성 변경 브레이크포인트 설정
특정 속성의 값이 변경될 때 브레이크포인트를 설정하여 해당 이벤트를 추적할 수 있습니다.これにより、予期しない UI 변경의 원인을 파악하는 데 도움이 됩니다.
다크 테마 및 진단 뷰
다크 테마를 지원하여 장시간 사용 시 눈의 피로를 줄일 수 있으며, Diagnostics 뷰를 통해 애플리케이션의 성능 및 리소스 사용 정보를 확인할 수 있습니다.
다운로드·설치 방법
GitHub 릴리스 페이지에서 최신 버전의 ZIP 파일을 다운로드할 수 있습니다. 다운로드 후 압축을 해제하고 Snoop.exe를 실행하면 됩니다. 설치 절차가 필요 없으며, 바로 실행할 수 있는 포터블 형태입니다. 또한 Chocolatey를 통해 choco install snoop 명령으로 설치할 수 있으며, AppVeyor에서 최신 프리뷰 버전을 다운로드할 수 있습니다.
기본 사용법/명령어
Snoop.exe를 실행하면 실행 중인 애플리케이션 목록이 표시됩니다. 여기서 사noop하려는 WPF 애플리케이션을 선택하면 시각적 트리가 표시됩니다. 마우스를 화면 요소 위에 올리면 해당 요소가 트리에서 자동으로 선택됩니다. Ctrl + Shift를 누르고 있으면 템플릿 부분을 건너뛰지 않고 선택할 수 있습니다. 전역 핫키 Ctrl + Win + Alt + F12를 눌러 현재 포커스된 WPF 애플리케이션을 빠르게 사noop할 수 있습니다. 속성을 수정하려면 트리에서 항목을 선택하고 속성 그리드에서 값을 편집하면 됩니다.
이런 경우에 유용합니다
WPF 애플리케이션의 레이아웃이 예상과 다르게 보일 때 시각적 트리를 확인하여 잘못된 컨테이너나 속성 값을 빠르게 찾을 수 있습니다. 스타일이 적용되지 않는 문제를 디버깅할 때 트리거 탭에서 트리거가 올바르게 트리거되는지 확인할 수 있습니다. 애니메이션이 예상대로 동작하지 않을 때 속성 변경 브레이크포인트를 설정하여 값이 언제 어떻게 변하는지 추적할 수 있습니다. 개발자는 UI 요소가 올바른 데이터 컨텍스트를 바인딩했는지 확인하기 위해 데이터 컨텍스트 속성을 실시간으로 검사할 수 있습니다.
지원 환경·시스템 요구사항
Snoop은 Windows 운영 체제에서 실행되며, .NET Framework 4.6.2 이상 또는 .NET 6 이상이 필요합니다. Self-Contained 단일 파일 애플리케이션은 트리밍으로 인해 필요한 메타데이터가 제거될 수 있어 사noop이 불가능할 수 있습니다. ARM/ARM64 아키텍처는 지원되지만, 동일한 단일 파일 제한이 적용됩니다.
최신 버전·업데이트
현재 버전은 6.1.1이며, changelog에서 자세한 변경 내역을 확인할 수 있습니다. 이전 버전 6.0.0에서는 .NET Framework 4.6.2 미만 및 .NET 3.1, .NET 5 지원이 중단되었습니다. 5.0.0 버전에서는 설정 시스템 개선, 속성 숨기기 기능, WebView2 및 CefSharp 지원, 다크 테마가 추가되었습니다. 4.0.0 버전에서는 .NET 6.0 지원, ARM/ARM64 지원, Diagnostics 뷰 추가, 디지털 서명된 아티팩트가 도입되었습니다.
제한 사항·확인 사항
Self-Contained 단일 파일 애플리케이션은 트리밍 과정에서 Snoop이 의존하는 메타데이터가 제거될 수 있어 사noop이 불가능할 수 있습니다. 이 경우 트리밍을 비활성화하거나 더早期 버전의 Snoop을 사용해야 할 수 있습니다. 또한 .NET 3.0 및 .NET 5 이하 버전은 최신 버전에서 더 이상 지원되지 않으므로, 이러한 환경을 대상으로 할 경우 이전 버전을 사용해야 합니다.
시스템 요구사항
.NET Framework 4.6.2 이상 또는 .NET 6 이상이 필요합니다. Self-Contained 단일 파일 애플리케이션은 지원되지 않습니다.


