Debuggen eines Azure-Clouddiensts in Visual Studio

Visual Studio bietet verschiedene Optionen für das Debuggen von Azure Cloud Services und virtuellen Computern.

Voraussetzungen

Debuggen des Clouddiensts auf dem lokalen Computer

Sie können Zeit und Geld sparen, wenn Sie den Azure Compute-Emulator verwenden, um Ihren Clouddienst auf einem lokalen Computer zu debuggen. Durch lokales Debuggen eines Diensts vor der Bereitstellung können Sie die Zuverlässigkeit und Leistung verbessern, ohne für die Computezeit bezahlen zu müssen. Allerdings können einige Fehler nur auftreten, wenn Sie einen Clouddienst in Azure selbst ausführen. Sie können diese Fehler debuggen, wenn Sie Remotedebuggen beim Veröffentlichen Ihres Diensts aktivieren und dann den Debugger zu einer Rolleninstanz hinzufügen.

Der Emulator simuliert den Azure-Computedienst und wird in Ihrer lokalen Umgebung ausgeführt, sodass Sie den Clouddienst vor der Bereitstellung testen und debuggen können. Der Emulator behandelt den Lebenszyklus der Rolleninstanzen und bietet Zugriff auf simulierte Ressourcen wie lokalen Speicher. Beim Debuggen oder Ausführen des Diensts in Visual Studio wird der Emulator automatisch als Hintergrundanwendung gestartet und dann der Dienst für den Emulator bereitgestellt. Mit dem Emulator können Sie Ihren Dienst anzeigen, wenn er in der lokalen Umgebung ausgeführt wird. Sie können die vollständige Version oder die Express-Version des Emulators ausführen. Weitere Informationen finden Sie unter Verwenden von Emulator Express zum lokalen Ausführen und Debuggen eines Clouddiensts.

So debuggen Sie den Clouddienst auf dem lokalen Computer

  1. Wählen Sie auf der Menüleiste Debuggen>Debuggen starten aus, um das Azure-Clouddienstprojekt auszuführen. Alternativ können Sie F5 drücken. Eine Meldung wird angezeigt, dass der Serveremulator gestartet wurde. Wenn der Emulator gestartet wird, wird dies durch das Taskleistensymbol bestätigt.

    Azure-Emulator in der Taskleiste

  2. Zeigen Sie die Benutzeroberfläche des Serveremulators an, indem Sie im Infobereich das Kontextmenü für das Azure-Symbol öffnen und dann auf Benutzeroberfläche des Serveremulators anzeigenklicken.

    Im linken Bereich der Benutzeroberfläche werden die Dienste angezeigt, die zurzeit im Serveremulator bereitgestellt sind, sowie die Rolleninstanzen, die in jedem Dienst ausgeführt werden. Sie können den Dienst oder die Rollen auswählen, um Lebenszyklus-, Protokollierungs- und Diagnoseinformationen im rechten Bereich anzuzeigen. Wenn Sie den Fokus in den oberen Rand eines enthaltenen Fensters setzen, wird es erweitert und füllt den rechten Bereich aus.

  3. Durchlaufen Sie Ihre Anwendung schrittweise, indem Sie auf die Befehle im Menü Debuggen klicken und Breakpoints in Ihrem Code setzen. Wenn Sie die Anwendung im Debugger schrittweise durchlaufen, werden die Bereiche mit dem aktuellen Status der Anwendung aktualisiert. Wenn Sie das Debuggen beenden, wird die Anwendungsbereitstellung gelöscht. Wenn Ihre Anwendung eine Webrolle umfasst und Sie als Startaktion das Starten des Webbrowsers festgelegt haben, startet Visual Studio Ihre Webanwendung im Browser. Wenn Sie die Anzahl der Instanzen einer Rolle in der Dienstkonfiguration ändern, müssen Sie den Clouddienst beenden und dann das Debuggen neu starten, damit Sie diese neuen Instanzen der Rolle debuggen können.

    Hinweis

    Wenn Sie das Ausführen oder Debuggen des Diensts beenden, werden der lokale Serveremulator und der Speicheremulator nicht beendet. Sie müssen explizit über den Infobereich beendet werden.

Debuggen eines Clouddiensts in Azure

Die Debugverfahren hängen davon ab, ob Sie Cloud Services (erweiterter Support) oder das klassische Clouddienstemodell verwenden. In diesem Artikel finden Sie weitere Informationen zu Cloud Services (erweiterter Support). Informationen zum klassischen Modell finden Sie unter Debuggen eines Clouddiensts in Azure (klassisches Modell).

Wenn Sie das Remotedebuggen für einen Clouddienst mit dem Verfahren in diesem Abschnitt aktivieren, führt dies nicht zu einer Leistungsverschlechterung oder zu zusätzlichen Gebühren. Verwenden Sie das Remotedebuggen nicht für einen Produktionsdienst, da sich dies negativ auf Clients auswirken kann, die den Dienst nutzen.

Hinweis

Wenn Sie einen Clouddienst über Visual Studio veröffentlichen, können Sie IntelliTrace für alle Rollen in diesem Dienst aktivieren, die für .NET Framework 4 oder .NET Framework 4.x ausgelegt sind. Mit IntelliTracekönnen Sie Ereignisse untersuchen, die in einer Rolleninstanz in der Vergangenheit aufgetreten sind, und den Kontext zum jeweiligen Zeitpunkt reproduzieren. Weitere Informationen finden Sie unter Debuggen eines veröffentlichten Clouddiensts mit IntelliTrace und Visual Studio und Verwenden von IntelliTrace.

So aktivieren Sie das Remotedebuggen für einen Clouddienst (erweiterter Support)

  1. Fügen Sie einen Endpunkt zu ServiceDefinition.csdef für den msvsmon-Standardport hinzu. Für Visual Studio 2019 ist es 4024.

    <Endpoints>
       <InputEndpoint name="RemoteDebug" protocol="tcp" port="4024" localPort="4024" />
    </Endpoints>
    

    Hinweis

    Andere Versionen von Visual Studio weisen unterschiedliche Ports auf (Remotedebugger-Portzuweisungen).

  2. Öffnen Sie das Kontextmenü des Azure-Projekts, und klicken Sie auf Veröffentlichen.

  3. Wählen Sie die Stagingumgebung und die Debugkonfiguration aus.

    Dies ist nur eine Empfehlung. Sie können auch Testumgebungen in einer Produktionsumgebung ausführen. Es kann jedoch möglicherweise negative Auswirkungen auf die Benutzer haben, wenn Sie das Remotedebuggen für die Produktionsumgebung aktivieren. Sie können die Releasekonfiguration auswählen, aber die Debugkonfiguration vereinfacht das Debuggen.

    Auswählen der Debugkonfiguration

  4. Führen Sie die gängigen Schritte aus, die unter Cloud Services (erweiterter Support) beschrieben werden. Aktivieren Sie jedoch das Kontrollkästchen Remotedesktop für alle Rollen aktivieren.

    Sie werden aufgefordert, einen Benutzernamen und ein Kennwort für den Remotedesktopbenutzer zu erstellen, den Sie später für die Anmeldung bei diesem virtuellen Computer benötigen.

  5. Wechseln Sie zum nächsten Bildschirm, überprüfen Sie Ihre Einstellungen, und klicken Sie auf Veröffentlichen. Warten Sie, bis die Bereitstellung abgeschlossen ist.

  6. Melden Sie sich beim Azure-Portal an, und navigieren Sie zum Clouddienst (erweiterter Support), den Sie debuggen möchten.

  7. Wählen Sie im linken Bereich Rollen und Instanzen und dann die Rolle aus, die Sie remote debuggen möchten.

  8. Klicken Sie im Popup Rolleninstanz rechts auf Verbinden, und wählen Sie die Schaltfläche Verbinden aus, um eine Remotedesktopdatei herunterzuladen, mit der Sie sich beim virtuellen Computer anmelden können. Melden Sie sich mit den Anmeldeinformationen an, die Sie beim Aktivieren des Remotedesktops in einem vorherigen Schritt erstellt haben.

    Screenshot: Popup der Rolleninstanz mit der Option „Verbinden“

  9. Installieren Sie auf dem virtuellen Remotecomputer von Azure die Visual Studio 2019-Remotetools, wie unter Remotedebugging beschrieben.

  10. Führen Sie auf dem Desktop auf dem virtuellen Computer den Befehl D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe aus. Stellen Sie sicher, dass Sie ihn als Administrator ausführen.

  11. Nehmen Sie Eingabeaufforderungen an, um den Zugriff über die Firewall zuzulassen. Es sollte eine Meldung angezeigt werden, die angibt, dass msvsmon.exe mit dem Lauschen auf Verbindungen begonnen hat.

  12. Öffnen Sie im Azure-Portal die Ressourcengruppe und rufen Sie die öffentliche IP-Adresse für den Cloud-Dienst ab (erweiterte Unterstützung).

    Screenshot: An dieser Stelle finden Sie die öffentliche IP-Adresse für den Clouddienst.

So fügen Sie den Debugger an einen Clouddienst (erweiterter Support) in Azure an

Hinweis

Wenn möglich, sollten Sie mit der beim Veröffentlichungsprozess ausgewählten Debugkonfiguration debuggen. Wenn Sie jedoch eine Releasekonfiguration debuggen, verwenden Sie in Visual Studio STRG+Q, um nach „Nur eigenen Code“ zu suchen, und deaktivieren Sie Nur meinen Code aktivieren unter Extras>Optionen>Debugger>Allgemein. Releasebuilds sind optimiert und gelten daher nicht als „eigener Code“.

  1. Wählen Sie Debuggen>An Prozess anhängen aus (oder drücken Sie Strg+Alt+P).

  2. Behalten Sie den Verbindungstyp Standard bei.

  3. Geben Sie das Verbindungsziel mit Ihrer IP-Adresse und Ihrem Port ein: {ipaddress}:4024.

  4. Legen Sie Anfügen an auf Automatisch fest.

  5. Melden Sie sich mit denselben Anmeldeinformationen wie der Remotedesktopbenutzer an.

  6. Wählen Sie Prozess für alle Benutzer anzeigen aus. Wenn Sie eine Workerrolle debuggen, fügen Sie WaWorkerHost.exe an. Wenn Sie eine Webrolle debuggen, fügen Sie den w3wp.exe-Prozess an. Für eine Web-API-Rolle sollte WaIISHost.exe verwendet werden.

  7. Legen Sie Breakpoints fest (navigieren Sie zur Zeile, und drücken Sie F9), greifen Sie auf die öffentliche URL der Website zu, und reproduzieren Sie das zu debuggende Szenario.

So aktivieren Sie das Remotedebuggen für einen Clouddienst (erweiterter Support)

  1. Fügen Sie einen Endpunkt zu ServiceDefinition.csdef für den msvsmon-Standardport hinzu. Für Visual Studio 2022 ist das 4026; für Visual Studio 2019 ist es 4024.

    <Endpoints>
       <InputEndpoint name="RemoteDebug" protocol="tcp" port="4026" localPort="4026" />
    </Endpoints>
    

    Hinweis

    Andere Versionen von Visual Studio weisen unterschiedliche Ports auf (Remotedebugger-Portzuweisungen).

  2. Wenn Sie mit .NET 4.8 arbeiten, öffnen Sie unbedingt die ServiceConfiguration.Cloud.cscfg-Datei, und überprüfen Sie den Wert des Attributs osFamily für das ServiceConfiguration-Element beim Veröffentlichen von Cloud Services (erweiterter Support). Verwenden Sie für ein .NET 4.8-Projekt osFamily="7".

  3. Öffnen Sie das Kontextmenü des Azure-Projekts, und klicken Sie auf Veröffentlichen.

  4. Wählen Sie die Stagingumgebung und die Debugkonfiguration aus.

    Dies ist nur eine Empfehlung. Sie können auch Testumgebungen in einer Produktionsumgebung ausführen. Es kann jedoch möglicherweise negative Auswirkungen auf die Benutzer haben, wenn Sie das Remotedebuggen für die Produktionsumgebung aktivieren. Sie können die Releasekonfiguration auswählen, aber die Debugkonfiguration vereinfacht das Debuggen.

    Wählen Sie die Debugkonfiguration aus

  5. Führen Sie die gängigen Schritte aus, die unter Cloud Services (erweiterter Support) beschrieben werden. Aktivieren Sie jedoch das Kontrollkästchen Remotedesktop für alle Rollen aktivieren.

    Sie werden aufgefordert, einen Benutzernamen und ein Kennwort für den Remotedesktopbenutzer zu erstellen, den Sie später für die Anmeldung bei diesem virtuellen Computer benötigen.

  6. Wechseln Sie zum nächsten Bildschirm, überprüfen Sie Ihre Einstellungen, und klicken Sie auf Veröffentlichen. Warten Sie, bis die Bereitstellung abgeschlossen ist.

  7. Melden Sie sich beim Azure-Portal an, und navigieren Sie zum Clouddienst (erweiterter Support), den Sie debuggen möchten.

  8. Wählen Sie im linken Bereich Rollen und Instanzen und dann die Rolle aus, die Sie remote debuggen möchten.

  9. Klicken Sie im Popup Rolleninstanz rechts auf Verbinden, und wählen Sie die Schaltfläche Verbinden aus, um eine Remotedesktopdatei herunterzuladen, mit der Sie sich beim virtuellen Computer anmelden können. Melden Sie sich mit den Anmeldeinformationen an, die Sie beim Aktivieren des Remotedesktops in einem vorherigen Schritt erstellt haben.

    Screenshot: Popup der Rolleninstanz mit der Option „Verbinden“

  10. Installieren Sie auf dem virtuellen Remotecomputer von Azure die Visual Studio 2022-Remotetools, wie unter Remotedebugging beschrieben.

  11. Führen Sie auf dem Desktop auf dem virtuellen Computer den Befehl D:\Program Files\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe aus. Stellen Sie sicher, dass Sie ihn als Administrator ausführen.

  12. Nehmen Sie Eingabeaufforderungen an, um den Zugriff über die Firewall zuzulassen. Es sollte eine Meldung angezeigt werden, die angibt, dass msvsmon.exe mit dem Lauschen auf Verbindungen begonnen hat.

    Screenshot: msvsmon.exe lauscht auf Verbindungen

  13. Öffnen Sie im Azure-Portal die Ressourcengruppe und rufen Sie die öffentliche IP-Adresse für den Cloud-Dienst ab (erweiterte Unterstützung).

    Screenshot: An dieser Stelle finden Sie die öffentliche IP-Adresse für den Clouddienst.

So fügen Sie den Debugger an einen Clouddienst (erweiterter Support) in Azure an

Hinweis

Wenn möglich, sollten Sie mit der beim Veröffentlichungsprozess ausgewählten Debugkonfiguration debuggen. Wenn Sie jedoch eine Releasekonfiguration debuggen, verwenden Sie in Visual Studio STRG+Q, um nach „Nur eigenen Code“ zu suchen, und deaktivieren Sie Nur meinen Code aktivieren unter Extras>Optionen>Debugger>Allgemein. Releasebuilds sind optimiert und gelten daher nicht als „eigener Code“.

  1. Wählen Sie Debuggen>An Prozess anhängen aus (oder drücken Sie Strg+Alt+P).

  2. Behalten Sie den Verbindungstyp Standard bei.

  3. Geben Sie das Verbindungsziel mit Ihrer IP-Adresse und Ihrem Port ein: {ipaddress}:4026.

  4. Legen Sie Anfügen an auf Automatisch fest.

  5. Melden Sie sich mit denselben Anmeldeinformationen wie der Remotedesktopbenutzer an.

  6. Wählen Sie Prozess für alle Benutzer anzeigen aus. Wenn Sie eine Workerrolle debuggen, fügen Sie WaWorkerHost.exe an. Wenn Sie eine Webrolle debuggen, fügen Sie den w3wp.exe-Prozess an. Für eine Web-API-Rolle sollte WaIISHost.exe verwendet werden.

  7. Legen Sie Breakpoints fest (navigieren Sie zur Zeile, und drücken Sie F9), greifen Sie auf die öffentliche URL der Website zu, und reproduzieren Sie das zu debuggende Szenario.

Debuggen eines Clouddiensts in Azure (klassisches Modell)

Um einen Clouddienst über einen Remotecomputer zu debuggen, müssen Sie diese Funktion explizit aktivieren, wenn Sie den Clouddienst bereitstellen, damit erforderliche Dienste (z. B. msvsmon.exe) auf den virtuellen Computern installiert werden, auf denen die Rolleninstanzen ausgeführt werden. Wenn Sie das Remotedebuggen nicht aktiviert haben, als der Dienst veröffentlicht wurde, müssen Sie den Dienst mit aktiviertem Remotedebuggen erneut veröffentlichen.

Wenn Sie das Remotedebuggen für einen Clouddienst aktivieren, führt dies nicht zu einer Leistungsverschlechterung oder zu zusätzlichen Gebühren. Verwenden Sie das Remotedebuggen nicht für einen Produktionsdienst, da sich dies negativ auf Clients auswirken kann, die den Dienst nutzen.

Hinweis

Wenn Sie einen Clouddienst über Visual Studio veröffentlichen, können Sie IntelliTrace für alle Rollen in diesem Dienst aktivieren, die für .NET Framework 4 oder .NET Framework 4.5 ausgelegt sind. Mit IntelliTracekönnen Sie Ereignisse untersuchen, die in einer Rolleninstanz in der Vergangenheit aufgetreten sind, und den Kontext zum jeweiligen Zeitpunkt reproduzieren. Weitere Informationen finden Sie unter Debuggen eines veröffentlichten Clouddiensts mit IntelliTrace und Visual Studio und Verwenden von IntelliTrace.

So aktivieren Sie das Remotedebugging für einen Clouddienst (klassisches Modell)

  1. Öffnen Sie das Kontextmenü des Azure-Projekts, und klicken Sie auf Veröffentlichen.

  2. Wählen Sie die Stagingumgebung und die Debugkonfiguration aus.

    Dies ist nur eine Empfehlung. Sie können auch Testumgebungen in einer Produktionsumgebung ausführen. Es kann jedoch möglicherweise negative Auswirkungen auf die Benutzer haben, wenn Sie das Remotedebuggen für die Produktionsumgebung aktivieren. Sie können die Releasekonfiguration auswählen, aber die Debugkonfiguration vereinfacht das Debuggen.

    Wählen Sie die Debugkonfiguration aus

  3. Führen Sie die üblichen Schritte aus, aber aktivieren Sie auf der Registerkarte Erweiterte Einstellungen das Kontrollkästchen Remotedebugger für alle Rollen aktivieren.

    Debugkonfiguration

So fügen Sie den Debugger an einen Clouddienst in Azure an (klassisches Modell)

  1. Erweitern Sie im Server-Explorer den Knoten für den Clouddienst.

  2. Öffnen Sie das Kontextmenü für die Rolle oder Rolleninstanz, an die das Anfügen erfolgen soll, und klicken Sie dann auf Debugger anfügen.

    Wenn Sie eine Rolle debuggen, wird der Visual Studio-Debugger an jede Instanz dieser Rolle angefügt. Der Debugger wird an einem Haltepunkt für die erste Rolleninstanz unterbrochen, die diese Codezeile ausführt und alle Bedingungen dieses Haltepunkts erfüllt. Wenn Sie eine Instanz debuggen, wird der Debugger nur an diese Instanz angefügt und wird an einem Haltepunkt nur unterbrochen, wenn diese spezielle Instanz diese Codezeile ausführt und die Bedingungen des Haltepunkts erfüllt.

    Debugger anfügen

  3. Nachdem der Debugger an eine Instanz angefügt wurde, debuggen Sie wie üblich. Der Debugger wird automatisch an den entsprechenden Hostprozess für Ihre Rolle angefügt. Abhängig von der Rolle wird der Debugger an "w3wp.exe", "WaWorkerHost.exe" oder "WaIISHost.exe" angefügt. Erweitern Sie im Server-Explorer den Instanzknoten, um den Prozess zu überprüfen, an den der Debugger angefügt ist. Weitere Informationen zu Azure-Prozessen finden Sie unter Azure-Rollenarchitektur.

    Screenshot: Dialogfeld zum Auswählen des Codetyps

  4. Um die Prozesse zu identifizieren, an die der Debugger angefügt ist, wählen Sie auf der Menüleiste Debuggen>Windows>Prozesse aus, und öffnen Sie das Dialogfeld Prozesse. (Tastatur: Strg+Alt+Z) Um einen bestimmten Prozess zu trennen, öffnen Sie dessen Kontextmenü, und klicken Sie dann auf Prozess abtrennen. Sie können auch den Instanzknoten im Server-Explorer suchen, dann den Prozess suchen, das Kontextmenü öffnen und auf Prozess abtrennenklicken.

    Prozesse debuggen

Warnung

Vermeiden Sie es beim Remotedebuggen, lange an Breakpoints anzuhalten. Azure behandelt Prozesse, die länger als einige Minuten angehalten wurden, als nicht reagierend und sendet keinen Datenverkehr mehr an diese Instanz. Wenn Sie zu lange unterbrechen, wird "msvsmon.exe" vom Prozess getrennt.

Um den Debugger von allen Prozessen in Ihrer Instanz oder Rolle zu trennen, öffnen Sie das Kontextmenü für die Rolle oder Instanz, die Sie debuggen, und klicken Sie dann auf Debugger lösen.

Einschränkungen beim Remotedebuggen in Azure

Das Remotedebugging hat die folgenden Einschränkungen:

  • Wenn das Remotedebuggen aktiviert ist, können Sie keinen Clouddienst veröffentlichen, in dem eine Rolle mehr als 25 Instanzen aufweist.

  • Der Debugger verwendet die Ports 30400 bis 30424, 31400 bis 31424 und 32400 bis 32424. Wenn Sie versuchen, diese Ports zu verwenden, können Sie Ihren Dienst nicht veröffentlichen, und eine der folgenden Fehlermeldungen wird im Aktivitätsprotokoll für Azure angezeigt:

    • Fehler beim Überprüfen der CSCFG-Datei anhand der CSDEF-Datei. Der reservierte Portbereich 'range' für den Endpunkt Microsoft.WindowsAzure.PlugIns.RemoteDebugger.Connector der Rolle 'role' überschneidet sich mit einem bereits definierten Port oder Bereich.
    • Fehler bei der Zuordnung. Wiederholen Sie den Vorgang später. Reduzieren Sie die VM-Größe oder die Anzahl der Rolleninstanzen, oder stellen Sie die VM in einer anderen Region bereit.

Debuggen von Azure App Service

Sie können Programme debuggen, die in Azure App Services ausgeführt werden, indem Sie das Dialogfeld „An Prozess anhängen“ in Visual Studio verwenden.

Hinweis

Dies ist nur für Microsoft Azure App Service ab Visual Studio 2022 (17.1) verfügbar.

So debuggen Sie eine Microsoft Azure App Service-Instanz

  1. Wählen Sie unter DebuggenAn Prozess anhängen aus.

  2. Ändern Sie Verbindungstyp in Microsoft Azure App Services, und wählen Sie dann Suchen... aus.

  3. Wählen Sie im daraufhin geöffneten Dialogfeld den Abonnementnamen aus.

    Screenshot: Dialogfeld zum Auswählen der Azure App Service-Instanz mit einer Liste der zur Auswahl stehenden App Services.

    Hinweis

    Sie müssen bei einem Microsoft-Konto mit Zugriff auf das Abonnement angemeldet sein, das Ihre Azure App Service-Instanz enthält.

  4. Filtern Sie die Ansicht entweder nach Ressourcengruppe oder Ressourcentyp, oder suchen Sie anhand des Namens.

  5. Wählen Sie als Nächstes den App Service aus, den Sie debuggen möchten, und wählen Sie dann OK aus.

    Dies ermöglicht das Remotedebugging in Ihrem App Service und zeigt eine Liste der verfügbaren Prozesse an, an die sie angefügt werden können.

    Screenshot: Das Fenster „An Prozess anhängen“ mit den Prozessen, die im ausgewählten App Service ausgeführt werden

  6. Wählen Sie den Prozess aus, an den Sie anfügen möchten, und wählen Sie dann Anfügen aus, um mit dem Debuggen zu beginnen.

Debuggen von Azure Virtual Machines

Sie können Programme debuggen, die auf Azure Virtual Machines ausgeführt werden, indem Sie den Server-Explorer in Visual Studio verwenden. Wenn Sie das Remotedebuggen auf einem virtuellen Computer in Azure aktivieren, installiert Azure die Erweiterung für das Remotedebuggen auf dem virtuellen Computer. Sie können dann den Debugger an Prozesse auf dem virtuellen Computer anfügen und wie gewohnt debuggen.

Hinweis

Für durch den Azure Resource Manager-Stapel erstellte virtuelle Computer ist Remotedebuggen mit dem Cloud-Explorer in Visual Studio 2019 möglich. Weitere Informationen finden Sie unter Verwalten von Azure-Ressourcen mit dem Cloud-Explorer.

So debuggen Sie einen virtuellen Computer in Azure

  1. Erweitern Sie im Server-Explorer den Knoten "Virtuelle Computer", und wählen Sie den Knoten des virtuellen Computers aus, den Sie debuggen möchten.

  2. Öffnen Sie das Kontextmenü, und klicken Sie auf Debuggen aktivieren. Wenn Sie gefragt werden, ob Sie sicher sind, dass Sie das Debuggen auf dem virtuellen Computer aktivieren möchten, klicken Sie auf Ja.

    Azure installiert die Erweiterung für das Remotedebuggen auf dem virtuellen Computer, um das Debuggen zu aktivieren.

    Befehl zum Aktivieren des Debuggens virtueller Computer

    Azure Aktivitätsprotokoll

  3. Nachdem die Installation der Remotedebugerweiterung abgeschlossen ist, öffnen Sie das Kontextmenü des virtuellen Computers und klicken dann auf Debugger anfügen

    Azure ruft eine Liste der Prozesse auf dem virtuellen Computer ab und zeigt diese im Dialogfeld An den Prozess anhängen an.

    Befehl

  4. Klicken Sie im Dialogfeld An den Prozess anhängen auf Auswählen, um die Ergebnisliste einzuschränken, sodass nur die Codetypen angezeigt werden, die Sie debuggen möchten. Sie können verwalteten 32- oder 64-Bit-Code und/oder systemeigenen Code debuggen.

    Screenshot: Dialogfeld zum Auswählen des Codetyps

  5. Klicken Sie auf die Prozesse, die Sie auf dem virtuellen Computer debuggen möchten, und anschließend auf Anfügen. Beispielsweise können Sie den Prozess "w3wp.exe" auswählen, wenn Sie eine Web-App auf dem virtuellen Computer debuggen möchten. Weitere Informationen finden Sie unter Debuggen von mindestens einem Prozess in Visual Studio und im Blogbeitrag zur Azure-Rollenarchitektur.

Erstellen eines Webprojekts und eines virtuellen Computers zum Debuggen

Vor dem Veröffentlichen des Azure-Projekts finden Sie es möglicherweise nützlich, es in einer eigenständigen Umgebung zu testen, die Debug- und Testszenarien unterstützt und in der Sie Test- und Überwachungsprogramme installieren können. Eine Möglichkeit zum Ausführen solcher Tests ist das Remotedebuggen Ihrer App auf einem virtuellen Computer.

Visual Studio ASP.NET-Projekte bieten eine Option, einen praktischen virtuellen Computer zu erstellen, den Sie für App-Tests verwenden können. Der virtuelle Computer umfasst häufig genutzte Endpunkte wie z.B. PowerShell, Remotedesktop und WebDeploy.

So erstellen Sie ein Webprojekt und einen virtuellen Computer zum Debuggen

  1. Erstellen Sie eine neue ASP.NET-Webanwendung in Visual Studio.

  2. Wählen Sie im Dialogfeld „Neues ASP.NET-Projekt“ im Abschnitt „Azure“ im Dropdownlistenfeld Virtueller Computer aus. Lassen Sie das Kontrollkästchen Remoteressourcen erstellen aktiviert. Klicken Sie zum Fortfahren auf OK .

    Das Dialogfeld Virtuellen Computer in Azure erstellen wird angezeigt.

    Dialogfeld

    Hinweis

    Sie werden aufgefordert, sich bei Ihrem Azure-Konto anzumelden, wenn Sie noch nicht angemeldet sind.

  3. Wählen Sie die verschiedenen Einstellungen für den virtuellen Computer aus, und klicken Sie dann auf OK. Weitere Informationen finden Sie unter Virtuelle Computer .

    Der Name, den Sie als DNS-Namen eingeben, ist der Name des virtuellen Computers.

    Dialogfeld zum Erstellen eines virtuellen Computers in Azure

    Azure erstellt den virtuellen Computer und stellt anschließend die Endpunkte wie Remotedesktop und Web Deploy bereit und konfiguriert sie.

  4. Nachdem der virtuelle Computer vollständig konfiguriert wurde, wählen Sie im Server-Explorer den Knoten des virtuellen Computers aus.

  5. Öffnen Sie das Kontextmenü, und klicken Sie auf Debuggen aktivieren. Wenn Sie gefragt werden, ob Sie sicher sind, dass Sie das Debuggen auf dem virtuellen Computer aktivieren möchten, klicken Sie auf Ja.

    Azure installiert die Erweiterung für das Remotedebuggen auf dem virtuellen Computer, um das Debuggen zu aktivieren.

    Befehl zum Aktivieren des Debuggens virtueller Computer

    Azure Aktivitätsprotokoll

  6. Veröffentlichen Sie Ihr Projekt, wie unter Gewusst wie: Bereitstellen eines Webanwendungsprojekts mit der One-Click-Veröffentlichung in Visual Studiobeschrieben. Da Sie auf dem virtuellen Computer debuggen möchten, wählen Sie auf der Seite Einstellungen des Assistenten Web veröffentlichen als Konfiguration Debuggen aus. Dadurch wird sichergestellt, dass Codesymbole beim Debuggen verfügbar sind.

    Veröffentlichungseinstellungen

  7. Wählen Sie unter Dateiveröffentlichungsoptionen die Option Zusätzliche Dateien am Ziel entfernen aus, wenn das Projekt zu einem früheren Zeitpunkt bereits bereitgestellt wurde.

  8. Nachdem das Projekt veröffentlicht wurde, klicken Sie im Kontextmenü des virtuellen Computers in Server-Explorer auf Debugger anfügen

    Azure ruft eine Liste der Prozesse auf dem virtuellen Computer ab und zeigt diese im Dialogfeld An den Prozess anhängen an.

    Befehl

  9. Klicken Sie im Dialogfeld An den Prozess anhängen auf Auswählen, um die Ergebnisliste einzuschränken, sodass nur die Codetypen angezeigt werden, die Sie debuggen möchten. Sie können verwalteten 32- oder 64-Bit-Code und/oder systemeigenen Code debuggen.

    Screenshot: Dialogfeld zum Auswählen des Codetyps

  10. Klicken Sie auf die Prozesse, die Sie auf dem virtuellen Computer debuggen möchten, und anschließend auf Anfügen. Beispielsweise können Sie den Prozess "w3wp.exe" auswählen, wenn Sie eine Web-App auf dem virtuellen Computer debuggen möchten. Weitere Informationen finden Sie unter Debugging von mindestens einem Prozess in Visual Studio .