Coder Social home page Coder Social logo

snoopwpf's Introduction

Snoop

Snoop is an open source WPF spying utility originally created by Pete Blois and is currently maintained by Bastian Schmidt.

It allows you to spy/browse the visual, logical and automation tree of any running WPF application (without the need for a debugger).
You can change property values, view triggers, set breakpoints on property changes and many more things.

Build status for master branch Build status for develop branch chocolatey version chocolatey download count

Contact

  • Join the chat at https://gitter.im/snoopwpf/Lobby
  • Twitter

Where can i download Snoop?/How can i install Snoop?

  • chocolatey for stable and some preview versions
  • github releases for stable versions
  • appveyor for the latest preview versions (built on every code change)
  • You need at least .NET Framework 4.0 to run Snoop

Versions

You can read the changelog for details on what changed in which version.

[4.0.0]

Highlights:

  • Support for .NET 6.0
  • Support for ARM/ARM64
  • New "Diagnostics" view
  • Settings for highlighting
  • Artifacts are digitally signed thanks to SignPath.io (MSI, Chocolatey NUPKG and zip)

Breaking:

  • Dropped support for all .NET versions prior to .NET 4.5.1

Highlights:

  • Support for .NET Core (3.0, 3.1 and 5.0) (including self contained and single file applications)
  • Rewritten injector code
  • You no longer have to have installed any Microsoft Visual C++ Redistributable(s)
  • Snooping disabled controls when holding CTRL + SHIFT works now
  • Snoop now filters uncommon properties by default
  • Snoop is now able to show MergedDictionaries from ResourceDictionary
  • Snoop now has two tracking modes.
    • Holding CTRL tries to skip template parts => this is changed to CTRL + ALT in newer versions
    • Holding CTRL + SHIFT does not skip template parts
  • Drastically improved performance of AppChooser.Refresh() (thanks @mikel785)
  • Usability improvements for process dropdown (thanks @mikel785)
  • Support for displaying the logical tree and the tree of WPF automation peers
  • Ability to inspect Popup without opening it
  • Snoop.exe and the injector launcher now support commandline args
  • Global hotkey support (just start snoop, focus a WPF application and hit CTRL + WIN + ALT + F12)

Known issues:

  • Trying to snoop a trimmed single file application might not work as trimming might have removed things Snoop relies on

Highlights:

  • Support for multiple app domains
  • Auto elevation to enable spying of elevated processes without running Snoop as administrator
  • Persistent settings for various settings
  • Improved error dialog and issue reporting
  • Rewritten window finder

Was released on September 19th, 2018. In this version we finally got rid of support for snooping WPF 3.5 applications. This allowed us to move the Snoop projects forward to Visual Studio 2017 which should make it much easier to work with Snoop's source code.

Was released on July 27th, 2018. The big addition in this version was the inclusion of the triggers tab which was a useful feature of another WPF spying utility called WPF Inspector (written by Christan Moser). It was ported to Snoop by Bastian Schmidt.

Documentation on how to use Snoop

Unfortunately there isn't any exhaustive documentation on how to use Snoop and there are plenty of hidden features. If someone is willing to work on this, please let me know. On the bright side, it is a pretty easy utility to use and learn. I have made three videos which should get most people quick started.

Here are the links to the current Snoop Tips & Tricks:

Why can't I snoop .NET 3.5 applications?

Well, you can! You will just need to use Snoop 2.9.0 and earlier, in order to do so. As part of the process of moving to Visual Studio 2019, we have dropped support for .NET 3.5 applications. The minimum supported .NET version is 4.0 as of Snoop version 3.0.

Why can't I snoop .NET 4.0 and 4.5.0 applications?

Well, you can! You will just need to use Snoop 3.0.0 and earlier, in order to do so. As part of the process of moving to Visual Studio 2022, we have dropped support for .NET 4.0 and 4.5.0 applications. The minimum supported .NET version is 4.5.1 as of Snoop version 4.0.

How do i build Snoop?

Just open Snoop.sln with Visual Studio and build it.

Requirements:

  • Visual Studio 2022 (including C++ payloads (x86/x64/ARM/ARM64))
    • You can import the .vsconfig file in the Visual Studio installer to let it install all required components
  • .NET Core SDK 5.0.400 or later
  • .NET 4.5.1 targeting pack download

Contributors

Over time contributions have been added by several people, most notably:

snoopwpf's People

Contributors

batzen avatar cplotts avatar bling avatar maciekrakowski avatar dependabot-preview[bot] avatar dependabot[bot] avatar simoncropp avatar jongleur1983 avatar paulspiteri avatar x39 avatar alexprince avatar miloush avatar jmbeach avatar gix avatar codekaizen avatar zo0o0ot avatar stutton avatar dezsiszabi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.