Durch einen Kollegen bin ich auf ein nettes Tool für WPF Entwickler gestoßen: Snoop. Es ist sowas wie Firebug – nur für WPF Anwendungen.
Wer Firebug nicht kennt: Über dieses Tool kann man Webseiten genauer analysieren und auch Parameter einfach verändern.
Installation
Snoop selbst ist ein Open Source Projekt, welches auf Codeplex oder GitHub runtergeladen werden kann. Die Installation geht flott und nach dem Starten des Programms hat man diese kleine Leiste:
WPF Anwendungen durchleuchten
Über diese Leiste kann man aktuelle WPF Anwendungen suchen oder über die “Zielscheibe” direkt eine WPF Applikation auswählen.
Danach sieht man – ähnlich Firebug – den Objektbaum samt den Eigenschaften und eventuellen Binding-Fehlers:
3D View auf die Oberfläche
Ein interessantes Feature ist auch sich die Ebenen der Oberfläche in 3D anzuschauen. Wenn man sich diese Oberfläche (von dieser Demo-App) anschaut:
Kommt das als “3D Ebenen Modell” heraus:
Nette Spielerei, aber vielleicht für manche doch praktisch.
Powershell Support
Über eine Konsole kann man den Objekt-Graph auch durchlaufen und die Eigenschaften lesen oder ändern – während die Applikation läuft.
Debugging von Binding-Fehlern, Eventhandler und mehr
Binding-Fehler in WPF sind nervig – Snoop kann den momentanen DataContext darstellen und evtl. (WPF Binding ist… kompliziert…) helfen. Auch welche Events abgefangen werden. Bestimmt gibt es noch mehr Features die ich jetzt übersehen hab oder bislang nicht gebraucht hab:
Fazit
Snoop scheint ein nettes Werkzeug zu sein um eine “laufende” WPF Applikation zu untersuchen – an Firebug oder andere WebDev Tools kommt es allerdings nicht heran.
Hier nochmal zum Download.
Danke nochmal an Marco für den Tipp ;)
Alternativen?
Falls erfahrene WPF Entwickler andere Tools kenne wäre ich natürlich über jeden Tipp dankbar. Vielleicht gibt es ja besser Tools um “laufende” WPF Apps zu “debuggen”.