Freigeben über


Remotedebuggen Ihrer Apps in Azure Spring Apps

Hinweis

Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.

Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren des Plans „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.

Dieser Artikel gilt für: ✔️ Basic/Standard ✔️ Enterprise

Dieses Feature beschreibt, wie Sie das Remotedebuggen Ihrer Anwendungen in Azure Spring Apps aktivieren.

Voraussetzungen

  • Azure CLI mit der Azure Spring Apps-Erweiterung. Verwenden Sie den folgenden Befehl, um frühere Versionen zu entfernen und die neueste Erweiterung zu installieren. Wenn Sie zuvor die spring-cloud-Erweiterung installiert hatten, deinstallieren Sie diese Erweiterung, um Konfigurations- und Versionskonflikte zu vermeiden.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Bereitgestellte Anwendung in Azure Spring Apps

Aktivieren oder Deaktivieren des Remotedebuggens

Aus Sicherheitsgründen deaktiviert Azure Spring Apps standardmäßig das Remotedebuggen. Basierend auf Ihrer Unternehmensrichtlinie können Sie das Remotedebuggen für Ihre App selbst aktivieren oder einen Administrator bitten, es für Sie zu aktivieren. Sie können Remotedebuggen mithilfe der Azure CLI, des Azure-Portals oder der VS Code-Erweiterung aktivieren bzw. deaktivieren.

Führen Sie die folgenden Schritte aus, um das Remotedebuggen für Ihre Anwendung mithilfe des Azure-Portals zu aktivieren:

  1. Navigieren Sie zu Ihrer Anwendungsseite.

  2. Wählen Sie im linken Navigationsbereich unter Einstellungen die Option Remotedebuggen aus.

  3. Aktivieren Sie auf der Seite Remotedebuggen das Remotedebuggen, und geben Sie den Debugport an.

    Screenshot des Azure-Portals, auf dem die Seite „Remotedebugging“ mit den Optionen „Remotedebugging“ und „Debuggen“ angezeigt wird.

Zuweisen einer Azure-Rolle

Für das Remotedebuggen einer App-Instanz müssen Sie über die Rolle Azure Spring Apps Remote Debugging Role verfügen, die die Datenaktionsberechtigung Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action beinhaltet.

Sie können eine Azure-Rolle über das Azure-Portal oder die Azure-Befehlszeilenschnittstelle zuweisen.

Führen Sie die folgenden Schritte aus, um eine Azure-Rolle über das Azure-Portal zuzuweisen:

  1. Öffnen Sie das Azure-Portal.

  2. Öffnen Sie Ihre Azure Spring Apps-Dienstinstanz.

  3. Wählen Sie im Navigationsbereich Zugriffssteuerung (IAM) aus.

  4. Wählen Sie auf der Seite Zugriffssteuerung (IAM) die Option Hinzufügen und dann Rollenzuweisung hinzufügen aus.

    Screenshot des Azure-Portals, in dem die Registerkarte „Zugriffssteuerung (IAM)“ für eine Azure Spring Apps-Instanz angezeigt wird und die Option „Rollenzuweisung hinzufügen“ hervorgehoben ist.

  5. Suchen Sie auf der Seite Rollenzuweisung hinzufügen in der Liste Name nach Remotedebuggenrolle für Azure Spring Apps, und wählen Sie diese Rolle und dann Weiter aus.

    Screenshot: Azure-Portal, in dem die Seite „Rollenzuweisung hinzufügen“ angezeigt wird und der Name „Remotedebuggenrolle für Azure Spring Apps“ hervorgehoben ist

  6. Wählen Sie Mitglieder aus, suchen Sie nach Ihrem Benutzernamen, und wählen Sie diesen dann aus.

  7. Wählen Sie Überprüfen und zuweisen aus.

Remotedebuggen einer App-Instanz

Sie können eine App-Instanz per Remotezugriff debuggen, indem Sie das Azure-Toolkit für IntelliJ oder die Azure Spring Apps-Erweiterung für VS Code verwenden.

In diesem Abschnitt wird beschrieben, wie Sie eine App-Instanz per Remotezugriff mithilfe des Azure-Toolkits für IntelliJ debuggen.

Voraussetzungen

Aktivieren oder Deaktivieren des Remotedebuggens

Führen Sie die folgenden Schritte aus, um das Remotedebuggen zu aktivieren bzw. zu deaktivieren:

  1. Melden Sie sich im Azure-Explorer bei Ihrem Azure-Konto an.

  2. Wählen Sie eine App-Instanz und dann Remotedebuggen aktivieren aus.

    Screenshot von IntelliJ mit der Menüoption „Remotedebugging aktivieren“.

Debugger anfügen

Führen Sie die folgenden Schritte aus, um einen Debugger anzufügen:

  1. Wählen Sie eine App-Instanz und dann Debugger anfügen aus. IntelliJ stellt eine Verbindung mit der App-Instanz her und startet das Remotedebuggen.

    Screenshot von IntelliJ mit der Menüoption „Debugger anfügen“.

  2. Das Azure-Toolkit für IntelliJ erstellt die Konfiguration für das Remotedebuggen. Sie finden sie unter Remote JVM Debug. Konfigurieren Sie den Modulklassenpfad zum Quellcode, den Sie für das Remotedebuggen verwenden.

    Screenshot von IntelliJ mit der Seite „Ausführen/Debuggen von Konfigurationen“.

Problembehandlung

Dieser Abschnitt enthält Informationen zur Problembehandlung.

  • Führen Sie die folgenden Aktionen aus, wenn Sie den Debugger nicht anfügen und einen Fehler wie java.net.SocketException, connection reset oder Failed to attach to remote debugger, ClosedConnectionException erhalten:

    • Überprüfen Sie die RBAC-Rolle, um sicherzustellen, dass Sie für das Remotedebuggen einer App-Instanz autorisiert sind.

    • Achten Sie darauf, eine Verbindung mit einer gültigen Instanz herzustellen. Aktualisieren Sie die Bereitstellung, um die neuesten Instanzen abzurufen.

      Screenshot des IntelliJ-Projekt-Explorers mit der Menüoption „Aktualisieren“ für den Knoten „App-Instanzen“.

  • Führen Sie die folgenden Aktionen aus, wenn Sie den Debugger erfolgreich anfügen, die App-Instanz jedoch nicht per Remotezugriff debuggen können:

    • Stellen Sie sicher, dass Ihre IDE den Quellcode enthält, den Sie debuggen möchten.
    • Vergewissern Sie sich, dass die Debugkonfiguration über den richtigen Modulklassenpfad verfügt.

Begrenzungen

Remotedebuggen wird nur für Java-Anwendungen unterstützt.

Planen Bereitstellungstyp Unterstützt
Standard und Basic-Plan JAR Ja
Standard und Basic-Plan Quellcode (Java) Ja
Standard und Basic-Plan Benutzerdefiniertes Image No
Enterprise-Tarif Java Application Ja
Enterprise-Tarif Quellcode (Java) Ja
Enterprise-Tarif Benutzerdefiniertes Image No

Tipps

  • Das Java-Remotedebuggen birgt gewisse Gefahren, da es die Remotecodeausführung zulässt. Azure Spring Apps hilft Ihnen, die Kommunikation zwischen Ihrer Client-IDE und der Remoteanwendung zu schützen. Sie sollten das Remotedebuggen jedoch deaktivieren und die RBAC-Rolle entfernen, wenn Sie fertig sind.
  • Sie sollten die App-Instanz auf eine abskalieren, um sicherzustellen, dass der Datenverkehr zur Instanz geleitet werden kann.

Nächste Schritte