Remotedebuggen von ASP.NET Core in Azure App Service (Windows)
In diesem Artikel wird beschrieben, wie Sie den Visual Studio-Debugger an eine ASP.NET Core-App anfügen, die in Azure App Service ausgeführt wird. Mit den folgenden Schritten können Sie die App so debuggen, als würde sie lokal ausgeführt.
Voraussetzungen
Visual Studio 2022 mit den installierten Workloads ASP.NET und Webentwicklung und Azure-Entwicklung.
Sie müssen zunächst in Visual Studio eine ASP.NET Core-App in Azure App Service (Windows) bereitstellen, zudem muss die App ausgeführt werden.
Praktische Schulungen zur Bereitstellung von App Service finden Sie unter Remotedebuggen von ASP.NET Core in Azure.
Ihr Veröffentlichungsprofil in Visual Studio muss vor der Veröffentlichung auf „Debug“ anstelle von „Release“ gesetzt werden.
Aktivieren des Remotedebuggens
Bevor Sie dieses Problem mit Visual Studio beheben können, müssen Sie in App Service das Feature für Remotedebugging aktivieren. Mit dieser Einstellung kann der Visual Studio-Debugger eine Verbindung mit dem Hauptprozess für das App Service-Webhosting herstellen.
Melden Sie sich bei Ihrem eigenen Azure-Portal an.
Suchen Sie im Azure-Portal die von Ihnen bereitgestellte Anwendung. Sie finden Ihre App, indem Sie zur Seite App Services navigieren und dann die App Service-Instanz auswählen. Sie können die App Service-Instanz auch direkt suchen, indem Sie den Namen in die Suchleiste oben eingeben. (In diesem Beispiel heißt die App Service-Instanz GitHubBrowser123.)
Wählen Sie auf der Einstellungsseite für die App Service-Instanz in der linken Navigationsleiste die Option Konfiguration und anschließend die Registerkarte Allgemeine Einstellungen aus.
Aktivieren Sie unten auf der Seite für das Feature Remotedebugging die Option Ein, und wählen Sie als Visual Studio-Remoteversion die Option Visual Studio 2022 aus.
Klicken Sie am oberen Rand der Seite auf Speichern, um Ihre Änderungen permanent zu speichern.
Ihre App Service-Instanz unterstützt nun Remotedebugging über Visual Studio.
Konfigurieren von Debugeinstellungen
Erstellen Sie eine fehlerfreie App. Beenden Sie die App, wenn sie lokal ausgeführt wird.
Hinweis
Stellen Sie sicher, dass der Status Ihres lokalen Codes dem entspricht, was in Azure bereitgestellt wurde. Dadurch wird sichergestellt, dass die lokalen Symboldateien und der Quellcode mit der bereitgestellten App übereinstimmen.
Wählen Sie im oberen Visual Studio-Menü Debuggen > Optionen aus. Vergewissern Sie sich, dass Nur meinen Code aktivieren deaktiviert ist (wie unten dargestellt), und wählen Sie dann OK aus.
Wenn Sie diese Einstellung ändern, kann Visual Studio den optimierten Code debuggen, der in Azure mit den erforderlichen Symboldateien aus Ihrem lokalen Bin-Ordner bereitgestellt wurde. Symboldateien werden vom Debugger als Brücke zwischen kompiliertem, ausgeführtem Code und dem Quellcode in Visual Studio verwendet. Für das Remotedebugging sind übereinstimmende Symboldateien erforderlich.
Anfügen des Debuggers an den App Service
Wählen Sie im Hauptmenü oben in Visual Studio die Option Debuggen > An den Prozess anhängen aus, um das entsprechende Dialogfeld zu öffnen. Mithilfe dieses Fensters können Sie unterschiedliche Ziele verbinden und anfügen. In diesem Fall stellen Sie eine Verbindung mit der App Service-Instanz her, die Sie im vorherigen Schritt erstellt haben.
Wählen Sie im Dropdownmenü Verbindungstyp die Option Microsoft Azure App Services aus.
Wählen Sie neben dem Feld Verbindungsziel die Option Suchen... aus, um ein Dialogfeld zu öffnen, über das Sie Ihre Azure-Abonnements und App-Dienste durchsuchen können.
Wenn Sie noch nicht mit Ihrem Azure-Abonnement angemeldet sind, wählen Sie Suchen ... aus. Sie können sich nun anmelden.
Suchen Sie nach der App Service-Instanz, die Sie im vorherigen Schritt erstellt haben, wählen Sie die Instanz aus, und wählen Sie dann OK aus.
Der
w3wp.exe
Prozess sollte in der Liste der verfügbaren Prozesse angezeigt werden, mit der eine Verbindung hergestellt werden soll.w3wp.exe
ist der Hauptprozess von Azure App Service, der die bereitgestellte Anwendung hostet. Wählen Sie denw3wp.exe
-Prozess aus, und klicken Sie dann unten rechts auf Anfügen.Legen Sie in einer C#-Anwendungsdatei wie
Index.cshtml.cs
einen Haltepunkt fest, indem Sie auf den linken Rand klicken. Sie können stattdessen auch mit der rechten Maustaste klicken und Haltepunkt>Haltepunkt einfügen auswählen.Navigieren Sie in der Web-App mit dem Haltepunkt zum Endpunkt. Wenn Sie an den Prozess angehängt sind, den Haltepunkt aber nicht erreichen können, stellen Sie sicher, dass Ihr Veröffentlichungsprofil in Visual Studio auf eine Debugkonfiguration und nicht auf eine Releasekonfiguration festgelegt ist.
Optional: Sie können überprüfen, ob Visual Studio die Symboldateien für Ihre Debugsitzung geladen hat. Navigieren Sie zu Debuggen > Windows > Module, um das Modulfenster zu öffnen. In diesem Fenster wird angeben, ob die Symboldateien nach Ihren vorherigen Konfigurationsänderungen für Nur eigenen Code erfolgreich geladen wurden.
Hinweis
Wählen Sie für das anschließende Debuggen des App Service Debuggen>Erneut an w3wp.exe anfügen aus, oder verwenden Sie die Tastenkombination UMSCHALT+ALT+P.