Übersicht über den ASP.NET-Debugger

Aktualisiert: November 2007

Anwendungscode kann verschiedene Arten von Fehlern (Bugs) enthalten. Syntaxfehler werden während der Kompilierung abgefangen. Bei anderen Arten von Fehlern ist das Debuggen des Codes erforderlich, d. h. die Ausführung des Codes wird überwacht, um zu überprüfen, ob der Ausführungspfad und die Daten korrekt sind.

Dieses Thema enthält Informationen zum Verwenden des Debuggers in Windows Software Development Kit (SDK) und unterstützt Sie damit bei der Fehlersuche in ASP.NET-Webseiten.

Hintergrund

Anwendungscode kann verschiedene Arten von Fehlern (Bugs) enthalten. Syntaxfehler werden während der Kompilierung abgefangen. Bei anderen Arten von Fehlern ist das Debuggen des Codes erforderlich, d.h. die Ausführung des Codes wird überwacht, um zu überprüfen, ob der Ausführungspfad und die Daten korrekt sind. Weitere Informationen finden Sie unter Debuggen und Profilerstellung von Anwendungen.

Das Windows Software Development Kit (SDK) enthält das Tool Visual Debugger, mit dem Sie eine Anwendung während der Ausführung überwachen können. Das Tool befindet sich unter %ProgramFiles%\Microsoft Visual Studio 8\SDK\v2.0\GuiDebug\DbgCLR.exe. Mit dem Debugger können Sie die Ausführung einer Anwendung exakt beobachten, indem Sie jede Anweisung schrittweise ausführen und die Daten in den einzelnen Variablen verfolgen. Sie verwenden Visual Debugger, indem Sie ihn öffnen und an den Prozess, in dem die Seiten der ASP.NET-Anwendung ausgeführt werden, anhängen. Unter Internetinformationsdienste (IIS), Version 5.0 und 5.1, sowie unter IIS 6.0 im IIS 5.0-Anwendungsmodus ist der ASP.NET-Workerprozess (Aspnet_wp.exe) der Prozess, an den der Debugger angehängt wird. Unter IIS 6.0 im Workerprozess-Isolierungsmodus wird der Debugger an den Threadpool-Prozess (W3wp.exe) angehängt. Wenn der Debugger an einen Prozess angehängt ist, können Sie alle Vorgänge innerhalb des Prozesses beobachten. Der Debugger ordnet die im Prozess ausgeführten Anweisungen dem Quellcode zu, sodass Sie jede Codezeile bei der Ausführung beobachten können.

Visual Debugger

Mit Visual Debugger können Sie den Code bei der Ausführung beobachten. Er umfasst u. a. die folgenden Features, die Sie beim Debuggen von Anwendungen unterstützen:

  • **Haltepunkte   **Haltepunkte sind Stellen im Code, an denen der Debugger die Anwendung anhält. Sie können den aktuellen Zustand der Daten in der Anwendung und die Codezeilen schrittweise ausführen. Informationen finden Sie unter Grundlagen des Debuggens: Haltepunkte.

  • Ausführen in Einzelschritten   Nach dem Anhalten an einem Haltepunkt können Sie den Code Zeile für Zeile (in Einzelschritten) ausführen. Visual Debugger enthält Features für das schrittweise Ausführen von Code, z. B. Iteratoren, mit denen die Anzahl von Schleifendurchläufen vor dem nächsten Halt angegeben wird. Weitere Informationen finden Sie unter Übersicht über das schrittweise Ausführen von Code.

  • Datenansicht   Visual Debugger umfasst eine Vielzahl von Optionen zur Ansicht und zum Verfolgen von Daten einer Anwendung während ihrer Ausführung. Im Debugger können Sie Daten ändern, während die Anwendung im Unterbrechungsmodus angehalten ist, und die Anwendung dann mit den geänderten Daten weiter ausführen. Weitere Informationen finden Sie unter Anzeigen von Daten im Debugger.

Hinweis:

Das Feature Bearbeiten und Fortfahren von Visual Studio 2005 ist nicht für Webanwendungen verfügbar.

Weitere Informationen finden Sie unter Verwenden des Debuggers für Webseiten.

Konfigurieren von ASP.NET-Webanwendungen für das Debuggen

Das Debuggen einer ASP.NET-Webanwendung ist nur dann möglich, wenn die Anwendung so konfiguriert ist, dass sie als Debugbuild kompiliert wird. Ein Debugbuild enthält Informationen, die der Debugger benötigt, um den Code schrittweise ausführen und die Variableninhalte anzeigen zu können. Sie konfigurieren eine Webanwendung für Debugbuilds im Abschnitt Compilation der Web.config-Datei der Anwendung. Weitere Informationen finden Sie unter compilation-Element (ASP.NET-Einstellungsschema). Wenn nur einzelne Seiten gedebugt werden sollen, können Sie auch auf den betreffenden Seiten debug=true an die @ Page-Direktive anfügen. Weitere Informationen finden Sie unter Gewusst wie: Debuggen für ASP.NET-Anwendungen aktivieren.

Hinweis:

Eine als Debugbuild kompilierte Anwendung wird erheblich langsamer als eine als Releasebuild kompilierte Anwendung ausgeführt. Deaktivieren Sie den Debugmodus unbedingt, bevor Sie die Anwendung bereitstellen. Im Debugmodus werden außerdem beim Auftreten eines Fehlers zusätzliche Informationen auf dem Stapel abgelegt. Dies stellt ein Sicherheitsrisiko dar.

Lokales und Remotedebuggen

Wenn ein Webserver wie IIS lokal ausgeführt wird, ist das Debuggen von lokal auf dem Computer ausgeführten Anwendungen möglich, damit die Seiten in einem Browser angezeigt werden können.

Wenn eine Seite nicht lokal ausgeführt werden kann, weil kein Webserver ausgeführt werden kann oder weil die Anwendung nicht lokal verfügbar ist, können Sie eine auf einem anderen Server ausgeführte Anwendung debuggen. Zum Remotedebuggen müssen Sie auf dem Remoteserver die Remotedebugkomponenten von Visual Studio installieren. Weitere Informationen finden Sie unter Gewusst wie: Einrichten des Remotedebuggens.

Berechtigungen zum Debuggen

Das Debuggen eines Prozesses erfordert mehr Rechte als das Ausführen. Daher muss nicht nur die Anwendung für das Debuggen konfiguriert werden, sondern es müssen zum Debuggen entsprechende auch Berechtigungen zum Anhängen eines Prozesses vorhanden sein. Benutzer sind berechtigt, Prozesse zu debuggen, die unter ihrer Benutzeridentität ausgeführt werden. Sie können jedoch nicht die Prozesse anderer Benutzer debuggen. Administratoren können jeden Prozess debuggen.

Zum Debuggen auf einem Remoteserver sind Administratorrechte für den Computer erforderlich, auf dem der zu debuggende Prozess ausgeführt wird. Weitere Informationen finden Sie unter Gewusst wie: Debuggen von Webanwendungen auf einem Remoteserver.

Debuggen von clientseitigen Skripts

Zusätzlich zum serverseitigen Debuggen von Anwendungen, ist mit Visual Debugger das Debuggen von Clientskripts möglich, die in ECMAScript (JavaScript) oder VBScript geschrieben sind. Das Debuggen von Clientskripts kann besonders nützlich sein, wenn Sie Webserver-Steuerelemente verwenden, die clientseitige Skripts verwenden.

Siehe auch

Aufgaben

Gewusst wie: Debuggen von Webanwendungen auf einem Remoteserver

Gewusst wie: Debuggen für ASP.NET-Anwendungen aktivieren

Gewusst wie: Debuggen von Webanwendungen und Webdiensten

Konzepte

Grundlagen des Debuggens: Haltepunkte

Referenz

Neues im Visual Studio Debugger

Weitere Ressourcen

Debuggen von ASP.NET- und AJAX-Anwendungen