Freigeben über


Debuggen bereitgestellter ASP.NET-Anwendungen

Um eine bereitgestellte und ausgeführte Anwendung über Visual Studio zu debuggen, müssen Sie den Debugger an den ASP.NET-Workerprozess anhängen und sicherstellen, dass der Debugger auf Symbole für die Anwendung zugreifen kann. Außerdem müssen Sie die Quelldateien für die Anwendung lokalisieren und öffnen. Weitere Informationen finden Sie unter Angeben von Symboldateien (PDB-Dateien) und Quelldateien, Vorgehensweise: Herausfinden des ASP.NET-Prozessnamensund Systemanforderungen.

Warnung

Wenn der Debugger an den ASP.NET-Workerprozess angefügt wird, wird beim Erreichen eines Breakpoints der gesamte verwaltete Code im Workerprozess angehalten. Das Anhalten des gesamten verwalteten Codes im Arbeitsprozess kann zu einem Arbeitsstopp für alle Benutzer des Servers führen. Wenn Sie auf einem Produktionsserver debuggen, müssen Sie unter allen Umständen die möglichen Auswirkungen auf die Produktion beachten.

Das Anhängen an den ASP.NET-Workerprozess unterscheidet sich nicht vom Anhängen an einen beliebigen anderen Remoteprozess. Wenn das passende Projekt nicht geöffnet ist, wird nach dem Anhängen ein Dialogfeld angezeigt, sobald die Anwendung unterbrochen wird. Dieses Dialogfeld fordert Sie auf, den Speicherort der Quelldateien der Anwendung anzugeben. Der im Dialogfeld eingegebene Dateiname muss mit dem Dateinamen übereinstimmen, der in den Debugsymbolen (auf dem Webserver) angegeben ist. Weitere Informationen finden Sie unter Anfügen an laufende Prozesse. Zum Einrichten des Remotedebuggens auf IIS, finden Sie unter Remotedebuggen von ASP.NET auf einem Remotecomputer mit IIS.

Hinweis

Viele ASP.NET-Webanwendungen verweisen auf DLLs, die Geschäftslogik oder sonstigen nützlichen Code enthalten. Durch einen solchen Verweis wird die DLL vom lokalen Computer in den Ordner \bin des virtuellen Verzeichnisses der Webanwendung kopiert, wenn Sie die App bereitstellen. Beim Debuggen sollten Sie beachten, dass die Webanwendung nicht auf die Kopie der DLL auf dem lokalen Computer, sondern auf diese Kopie der DLL verweist.