Debuggen von Expression Blend-Anwendungen in Visual Studio 2008
Microsoft Expression Blend ist eine Designanwendung zum Erstellen umfassender Windows Presentation Foundation (WPF)-Anwendungen für Microsoft Windows und Microsoft Silverlight-Anwendungen für das Web. In der Anwendung Microsoft Visual Studio 2008, die ebenfalls zum Erstellen von Microsoft Windows-Anwendungen verwendet wird, können Expression Blend-Projekte geöffnet, erstellt und debuggt werden. Falls beim Debuggen der Anwendung mithilfe der Expression Blend-Option Projekt ausführen (F5) Probleme auftreten, können Sie mit Visual Studio 2008 detaillierte Fehlermeldungen zu Laufzeitfehlern abrufen. Manchmal können Laufzeitfehler behoben werden, indem Sie verschiedene Änderungen in XAML oder im Code ausprobieren, bis Sie die Abläufe im Hintergrund verstehen. Die schnellere Möglichkeit besteht jedoch darin, die im Hintergrund stattfindenden Abläufe direkt zu beobachten, indem Sie den Code während der Programmausführung zeilenweise durchgehen.
So gehen Sie den Code zeilenweise durch
Öffnen Sie Ihr Expression Blend-Projekt in Visual Studio 2008.
Klicken Sie auf eine Codezeile, die Sie untersuchen möchten, und legen Sie durch Drücken von F9 einen Haltepunkt fest. Wenn Sie den Code von Anfang an durchgehen möchten, legen Sie den Haltepunkt in der Zeile this.InitializeComponent(); in der Datei Window1.xaml.cs fest.
Drücken Sie F5, um die Anwendung zu starten.
Die Anwendung wird von Visual Studio 2008 erstellt und ausgeführt, bis die Zeile mit dem Haltepunkt aufgerufen wird. An diesem Punkt wird die Anwendungsausführung angehalten, und die Datei mit dem Haltepunkt wird in Visual Studio 2008 angezeigt. Die Zeile, die als nächstes ausgeführt wird, ist mit einem gelben Pfeil gekennzeichnet.
Im Menü Debuggen stehen drei Optionen für die schrittweise Überprüfung des Codes zur Auswahl:
Mit Einzelschritt (F11) wird die nächste Codezeile ausgeführt. Falls es sich bei dieser Zeile um einen Funktionsaufruf handelt, wird die erste Zeile in diesem Funktionsaufruf angezeigt.
Mit Prozedurschritt (F10) wird ebenfalls die nächste Codezeile ausgeführt. Falls es sich jedoch bei dieser Zeile um einen Funktionsaufruf handelt, wird diese Funktion ausgeführt und die nächste Zeile nach dem Funktionsaufruf angezeigt.
Mit Ausführen bis Rücksprung (UMSCHALT+F11) werden Sie zu einer Position außerhalb eines Funktionsaufrufs geführt.
Am häufigsten wird die Option Prozedurschritt (F10) verwendet. Während Sie schrittweise durch den Code geführt werden, können Sie die ausgeführten Codepfade sehen und ermitteln, ob der Code nicht in der von Ihnen erwarteten Reihenfolge ausgeführt wird.
Im Lokalpanel können Sie sehen, welche Variablen zurzeit instanziiert sind und welche Werte diese enthalten. Während Sie schrittweise durch den Code geführt werden, werden die Werte der Variablen im Lokalpanel aktualisiert. Dies ist beim Debuggen der Anwendung hilfreich, wenn Sie vermuten, dass eine Schleife weniger oft als erwartet aufgerufen wird oder dass eine Variable nicht den erwarteten Wert enthält, oder wenn eine Variable verloren geht (den Bereich verlässt), bevor sie benötigt wird.
So debuggen Sie eine WPF-Browseranwendung
Wenn Sie eine WPF-Browseranwendung debuggen möchten, während diese in einem Browser ausgeführt wird, müssen Sie die Option An den Prozess anhängen von Visual Studio 2008 Standard Edition oder höher verwenden. Verwenden Sie das folgende Verfahren:
Erstellen Sie das Projekt, und führen Sie es mindestens einmal aus, um Debugdateien zu erstellen.
Geben Sie an der Befehlszeile die folgende Zeile ein, und drücken Sie dann die EINGABETASTE.
%SystemRoot%\system32\PresentationHost.exe -debug
Der WPF-Prozess wird im Debugmodus gestartet.
Öffnen Sie in Visual Studio 2008 das WPF-Browseranwendungsprojekt.
Klicken Sie im Menü Projekt auf Eigenschaften. Wählen Sie auf der Registerkarte Debuggen die Option Nicht verwaltetes Codedebuggen aktivieren aus. Schließen Sie das Eigenschaftenfenster.
Klicken Sie im Menü Debuggen auf An den Prozess anhängen.
Klicken Sie im Fenster An den Prozess anhängen neben Anfügen an auf Auswählen. Wählen Sie unter Diese Codetypen debuggen die Optionen Verwaltet und Systemeigen aus, und klicken Sie dann auf OK. Wählen Sie unter VerfügbareProzesse die Option PresentationHost.exe aus. Klicken Sie auf Anfügen, um mit dem Debuggen zu beginnen.
Doppelklicken Sie in Windows Explorer auf die XBAP-Datei für die Anwendung im Ordner bin\Debug des Projekts.
Die Anwendung wird im Standardbrowser geöffnet. Falls Sie Haltepunkte festgelegt haben, wird die Anwendungsausführung angehalten und die Datei mit dem Haltepunkt in Visual Studio 2008 angezeigt. Die Zeile, die als nächstes ausgeführt wird, ist mit einem gelben Pfeil gekennzeichnet. Von dieser Stelle aus können Sie den Code wie gewohnt schrittweise überprüfen.
Weitere Informationen zum Debugging finden Sie unter Debuggen in Visual Studio 2008 in MSDN.
So debuggen Sie XAML-Laufzeitfehler in Visual Studio 2008
Falls zur Laufzeit ein XAML-Fehler auftritt, können Sie Informationen zur Zeile im XAML-Code abrufen, die den Fehler verursacht. Fügen Sie hierzu der Projektdatei (CSPROJ oder VBPROJ) im Abschnitt <PropertyGroup> die folgende Zeile hinzu:
<XamlDebuggingInformation>true</XamlDebuggingInformation>
Diese Projektdateieigenschaft wird nur in der Debugversion des Builds standardmäßig auf True (wahr) festgelegt, da dadurch der Umfang der Anwendung vergrößert wird.
Allgemeines Debuggen
Es kann schwierig sein, die Ursache eines Fehlers oder die genaue Position eines Fehlers in der Anwendung herauszufinden. Dabei ist es jedoch hilfreich, wenn Sie wissen, welche Arten von Fehlern auftreten können. Weitere Informationen finden Sie unter Debuggen von Expression Blend-Anwendungen.