探索WPF界面的神器:Snoop
snoopwpf项目地址:https://gitcode.com/gh_mirrors/sno/snoopwpf
Snoop是一款由Pete Blois发起,并由Bastian Schmidt维护的开源WPF应用监视工具。它提供了一种无需调试器就能浏览和操作任何运行中WPF应用程序视觉、逻辑和自动化树的强大功能。无论是修改属性值、查看触发器还是在属性变化时设置断点,Snoop都能轻松应对。
联系我们
如何获取并安装Snoop?
你可以通过以下途径下载或安装Snoop:
- 使用Chocolatey获取稳定版或预览版
- 访问GitHub发布页获取稳定版
- 获取最新预览版,直接从AppVeyor构建artifacts
- 运行Snoop需要.NET Framework 4.6.2及以上版本
支持的.NET版本
- .NET Framework >= 4.6.2
- .NET >= 6
- 测试过6、7和8版本,更高版本可能同样兼容。
- 自包含单文件应用不支持,因为无法可靠地获取.NET运行时句柄
版本更新
详细变更日志可在Changelog.md中查阅。
6.0.0
- 去掉了对.NET 4.6.2之前所有框架版本的支持
- 去掉了对.NET 3.1和.NET 5的支持
5.0.0
- 提升了不再依赖
System.Configuration
的设置系统 - 现在可以在Snoop默认视图中隐藏属性,只需将属性注解为
[System.ComponentModel.BrowsableAttribute(false)]
- 添加了展示浏览器开发者工具的功能,支持
WebView2
和CefSharp
控件 - 新增暗主题
4.0.0
- 现在支持.NET 6.0
- 支持ARM/ARM64架构
- 引入新的“诊断”视图
- 高亮显示设置
- 通过SignPath.io数字签名(MSI、Chocolatey NUPKG和zip)
3.0.0
- 支持.NET Core 3.0、3.1 和 5.0(包括自包含和单文件应用)
- 重写了注入代码
- 不再需要安装Microsoft Visual C++ Redistributable
2.11.0
- 支持多个应用域
- 自动提升权限以无需管理员权限即可监视提升权限的应用
- 多项设置持久化
- 更改错误对话框并优化问题报告
- 优化窗口查找器
2.10.0
- 发布于2018年9月19日,移除对WPF 3.5应用的监视支持,转而支持Visual Studio 2017,使源码更容易处理。
2.9.0
- 发布于2018年7月27日,引入了触发器标签,这是另一个名为WPF Inspector的WPF监视工具的有用特性,由Christian Moser编写。
如何使用Snoop
遗憾的是,目前还没有详细的Snoop使用文档,但其易学易用。关于快速入门,有三个视频教程可供参考:
为什么我不能监视我的应用?
实际上可以!你只需要使用Snoop的早期版本。以下是最低版本对应关系:
| Snoop 版本 | .NET Framework | .NET | |----------|---------------|------| | 3.0 | 4.0 | 3.0 | | 4.0 | 4.5.1 | 3.0 | | 5.0 | 4.5.2 | 3.1 | | 6.0 | 4.6.2 | 6.0 |
如何构建Snoop?
只需在Visual Studio中打开Snoop.sln
并进行构建。
构建要求:
- Visual Studio 2022
- C++负载(x86/x64,以及可选的ARM/ARM64)
- 可以导入
.vsconfig
文件,让Visual Studio安装所有必需组件
- .NET SDK 8.0.100或更高版本
贡献者
随着时间的推移,许多人为Snoop做出了贡献,其中最突出的包括:
- Bastian Schmidt,batzen.dev(当前维护者)
- Cory Plotts,cplotts.com
- Dan Hanan
- Andrei Kashcha
- Maciek Rakowski
- Bailey Ling
代码签名
Snoop利用SignPath.io提供的免费代码签名服务,以及SignPath Foundation提供的免费代码签名证书。
如果你是WPF开发者,想要深入了解你的应用程序运行机制,Snoop无疑是不可或缺的工具。它的直观界面、强大的功能集和广泛的平台支持使得它成为解决UI问题和性能瓶颈的理想选择。现在就加入数千名已经受益于Snoop的开发者行列,探索你的WPF世界吧!