XAML-Kolumne: WPF und Windows-Apps

XAML-Tipp: XAML-Designer bei Fehlern debuggen
Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „XAML-Designer bei Fehlern debuggen“.

XAML-Designer bei Fehlern debuggen

Bei meinen Kunden mache ich immer wieder eine spannende Entdeckung, wenn Sie mir ihr WPF-Projekt vorstellen. Es werden Seiten im XAML-Designer geöffnet, und nichtssagende Fehlermeldungen bestücken die Vorschau.

Auf die Frage, wieso man den Fehler nicht beheben möchte, erhalte ich immer die gleiche Antwort: Der XAML-Designer ist fehlerhaft, denn die Software funktioniert zur Laufzeit einwandfrei. Das ist schade, denn der XAML-Designer kann für einiges an Produktivität sorgen. Zugegeben, die Fehlerbehandlung ist aufgrund der katastrophalen Fehlermeldung eher schlecht als recht nachvollziehbar. Ein einfacher Trick hilft aber dabei, die unschöne Situation direkt Debuggen zu können. Diesen möchte ich meinen Lesern natürlich nicht vorenthalten.

Zunächst einmal müssen alle XAML-Seiten geschlossen werden, sodass der XAML-Designer gerade nicht geladen ist. Dann wird eine weitere Visual-Studio-Instanz mit dem gleichen Projekt gestartet. Hierbei bitte auch darauf achten, dass keine XAML-Seite geöffnet ist. Um ganz sicher zu gehen, dass der XAML-Designer auch wirklich nicht mehr aktiv ist, kann man im Task Manager unter Details überprüfen, ob die XDesProc.exe noch immer läuft. Sollte dies der Fall sein, kann der Prozess einfach manuell beendet werden.

Anschließend wechseln Sie zur ersten Visual-Studio-Instanz und setzen einen Breakpoint im Konstruktor des ViewModel. Bei der zweiten Visual-Studio-Instanz wird jetzt die XAML-Seite mit der Fehlermeldung geöffnet. Wieder zurück bei der ersten Instanz wird über das Menü DEBUG | ATTACH TO PROCESS ein Prozessdialog geöffnet, der alle laufenden Prozesse in einer Liste anzeigt. Hier muss nun die XDesProc.exe ausgewählt werden. Mittels Attach-Button verbindet sich die aktuelle Visual-Studio-Instanz dann direkt mit dem XAML-Designer (Abb. 1). Der letzte Schritt ist es jetzt, die XAML-Seite in der zweiten Instanz zu schließen und wieder zu öffnen. Visual Studio sollte nun beim Breakpoint des ViewModel stoppen und das Aufspüren von Fehlern sollte ohne weiteres möglich sein.

Abb. 1: Die XAML-Designer-Instanz mit Visual Studio anzapfen

Abb. 1: Die XAML-Designer-Instanz mit Visual Studio anzapfen

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -