Remotedebuggen von ASP.NET Core in Azure App Service

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 zuerst eine ASP.NET Core-App aus Visual Studio in Azure App Service bereitstellen, und die App muss ausgeführt werden.

    Praktische Schulungen zur Bereitstellung von App Service finden Sie unter Remotedebuggen von ASP.NET Core in Azure.

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.

  1. 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.)

    A screenshot of Azure search.

  2. Wählen Sie auf der Seite mit den App Service-Einstellungen in der Navigationsleiste auf der linken Seite die Option Konfiguration aus. Wechseln Sie anschließend zur Registerkarte Allgemeine Einstellungen.

  3. 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.

    A screenshot of the Azure remote debugging settings.

  4. 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

Stellen Sie sicher, dass Sie die folgenden Schritte in Visual Studio abgeschlossen haben, bevor Sie eine App in Azure debuggen, damit dies erfolgreich ist.

  1. Vergewissern Sie sich zunächst davon, dass Sie Ihr Projekt mindestens einmal erfolgreich erstellt haben. Ein erfolgreicher Build stellt sicher, dass der Quellcode und alle erforderlichen kompilierten Dateien einsatzbereit sind. Wenn die Anwendung lokal ausgeführt wird, stellen Sie sicher, dass die App beendet 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.

  2. Navigieren Sie im oberen Visual Studio-Menü zu Debuggen -> Optionen. Vergewissern Sie sich, dass Nur meinen Code aktivierendeaktiviert 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, ausführendem Code und dem Quellcode in Visual Studio verwendet, weshalb der lokale Quellcode der bereitgestellten App entsprechen muss.

    A screenshot of the Visual Studio debugging settings.

Anfügen des Debuggers an den App Service

  1. 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.

  2. Wählen Sie im Dropdownmenü Verbindungstyp die Option Microsoft Azure App Services aus.

  3. 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.

  4. 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.

  5. Der Prozess w3wp.exe sollte in der Liste der verfügbaren Prozesse angezeigt werden, mit denen eine Verbindung hergestellt werden kann. Der Prozess ist der Hauptprozess des Azure App Service, von dem die bereitgestellte Anwendung gehostet wird. Wählen Sie diesen Prozess aus, und wählen Sie dann unten rechts Anfügen aus, um die Verbindung mit dem Visual Studio-Debugger herzustellen.

    A screenshot of the attach to process features.

  6. Legen Sie in Index.cshtml.cs oder einer anderen C#-Anwendungsdatei einen Breakpoint fest, indem Sie auf den linken Rand klicken. (Oder klicken Sie mit der rechten Maustaste, und wählen Sie Haltepunkt>Haltepunkt einfügen aus.)

  7. Optional können Sie auch ü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 sollte angeben werden, dass die Symboldateien erfolgreich geladen wurden, nachdem die Ihre Konfigurationsänderungen für Nur eigenen Code durchgeführt wurden.

    A screenshot of the symbol files window.