Freigeben über


Remote-Debugging von ASP.NET Core auf Azure App Service (Windows)

In diesem Artikel wird beschrieben, wie Sie den Visual Studio-Debugger an eine ASP.NET Core-App anfügen, die auf Azure App Service ausgeführt wird. Mit den folgenden Schritten können Sie die App so debuggen, als ob sie lokal ausgeführt wird.

Voraussetzungen

  • Visual Studio 2022 mit der installierten Arbeitslast für ASP.NET und Webentwicklung sowie der Arbeitslast für Azure-Entwicklung.

  • Sie müssen zuerst eine ASP.NET Core-App in Azure App Service (Windows) aus Visual Studio bereitstellen, und die App muss ausgeführt werden.

    Praktische Schulungen, die die Bereitstellung von App Service umfassen, finden Sie unter Remotedebugging ASP.NET Core in Azure.

  • Ihr Veröffentlichungsprofil in Visual Studio muss vor der Veröffentlichung auf "Debuggen" anstelle von "Release" festgelegt werden.

Aktivieren des Remotedebuggings

Bevor Sie dieses Problem mit Visual Studio debuggen können, müssen Sie das Remotedebuggingfeature im App-Dienst aktivieren. Mit dieser Einstellung kann der Visual Studio-Debugger eine Verbindung mit dem wichtigsten Webhostingprozess des App-Diensts herstellen.

  1. Melden Sie sich bei Ihrem eigenen Azure-Portal an.

    Suchen Sie Ihre bereitgestellte Anwendung im Azure-Portal. Sie finden Ihre App, indem Sie zur Seite "App Services " navigieren und dann die App Service-Instanz auswählen. Sie können auch direkt über den Namen in der Suchleiste oben nach der App Service-Instanz suchen. (In diesem Beispiel heißt die App Service-Instanz GitHubBrowser123.)

    Screenshot der Azure-Suche.

  2. Wählen Sie auf der Seite "Einstellungen" für die App Service-Instanz im linken Navigationsbereich die Option "Konfiguration " und dann die Registerkarte " Allgemeine Einstellungen " aus.

  3. Stellen Sie sicher, dass am unteren Rand der Seite das Remote-Debugging-Feature auf „Ein“ gesetzt ist und wählen Sie Visual Studio 2022 als Remote Visual Studio-Version aus.

    Screenshot der Azure-Remotedebuggingeinstellungen.

  4. Wählen Sie oben auf der Seite "Speichern" aus, um Ihre Änderungen beizubehalten.

Ihre App-Dienstinstanz unterstützt jetzt Remotedebugging über Visual Studio.

Konfigurieren von Debugeinstellungen

  1. Erstellen Sie Ihre App ohne Fehler. Beenden Sie Ihre 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 in Einklang stehen.

  2. Wählen Sie "Debugoptionen > " im oberen Visual Studio-Menü aus. Stellen Sie sicher, dass "Nur mein 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 mithilfe der 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.

    Screenshot der Visual Studio-Debugeinstellungen.

Anfügen des Debuggers an den App-Dienst

  1. Wählen Sie im Hauptmenü oben in Visual Studio Debug > an Prozess anhängen aus, um das entsprechende Dialogfeld zu öffnen. Mithilfe dieses Fensters können Sie eine Verbindung herstellen und an verschiedene Ziele anfügen. In diesem Fall stellen Sie eine Verbindung mit der App Service-Instanz her, die Sie im vorherigen Schritt erstellt haben.

  2. Wählen Sie die Dropdownliste "Verbindungstyp " und dann die Option "Microsoft Azure App Services " aus.

  3. Wählen Sie "Suchen." neben dem Feld "Verbindungsziel " aus, um ein Dialogfeld zu öffnen, in dem 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, und melden Sie sich an.

  4. Suchen Sie die App Service-Instanz, die Sie im vorherigen Schritt erstellt haben, und wählen Sie sie aus, und wählen Sie dann "OK" aus.

  5. 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 des Azure App Service, der die bereitgestellte Anwendung hosten soll. Wählen Sie den w3wp.exe Prozess und dann unten rechts "Anfügen" aus.

    Ein Screenshot von den Features zum Prozess anhängen.

  6. In einer C#-Anwendungsdatei wie Index.cshtml.cs setzen Sie einen Haltepunkt, indem Sie auf den linken Rand klicken. Alternativ können Sie mit der rechten Maustaste klicken und Haltepunkt>einfügen auswählen.

  7. Navigieren Sie in der Web-App zum Endpunkt mit dem Haltepunkt. Wenn Sie mit dem Prozess verbunden sind, aber den Haltepunkt nicht treffen können, stellen Sie sicher, dass Ihr Veröffentlichungsprofil in Visual Studio auf eine Debug-Konfiguration festgelegt ist, anstatt auf eine Release-Konfiguration.

  8. Optional: So überprüfen Sie, ob Visual Studio die Symboldateien für Ihre Debugsitzung geladen hat. Navigieren Sie zum Debuggen > von Windows-Modulen>, um das Modulfenster zu öffnen. Dieses Fenster gibt an, dass die Symboldateien nach den zuvor vorgenommenen Änderungen an der Nur mein Code-Konfiguration erfolgreich geladen wurden.

    Screenshot des Fensters

Hinweis

Wählen Sie für das nachfolgende Debuggen des App-Diensts "Debuggen>Erneut an w3wp.exe anfügen oder verwenden Sie die Tastenkombination UMSCHALT+ALT+P.