

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Remote-Debugging von Lambda-Funktionen mit Visual Studio Code
<a name="debugging"></a>

Mit dem Remote-Debugging-Feature im [AWS Toolkit for Visual Studio Code](https://aws.amazon.com/visualstudiocode/) können Sie Ihre Lambda-Funktionen debuggen, die direkt in der AWS-Cloud ausgeführt werden. Dies ist nützlich, wenn Sie Probleme untersuchen, die lokal schwer zu reproduzieren sind oder nur anhand von Protokollen diagnostiziert werden können.

Mit Remote-Debugging können Sie:
+ Haltepunkte in Ihrem Lambda-Funktionscode setzen.
+ Die Codeausführung in Echtzeit durchlaufen.
+ Variablen und Status während der Laufzeit überprüfen.
+ Lambda-Funktionen debuggen, die in AWS bereitgestellt wurden, einschließlich solcher in VPCs oder mit bestimmten IAM-Berechtigungen.

## Unterstützte Laufzeiten
<a name="debugging-runtimes"></a>

Remote-Debugging wird für die folgenden Laufzeiten unterstützt:
+ Python (AL2023)
+ Java
+ JavaScript/Node.js (AL2023)

**Anmerkung**  
Remote-Debugging wird sowohl für x86\$164- als auch für arm64-Architekturen unterstützt.

## Sicherheit und Remote-Debugging
<a name="debugging-security"></a>

Das Remote-Debugging erfolgt innerhalb der bestehenden Lambda-Sicherheitsgrenzen. Benutzer können mithilfe der Berechtigung `UpdateFunctionConfiguration`, die bereits Zugriff auf Funktionsumgebungsvariablen und -konfigurationen ermöglicht, Ebenen an eine Funktion anhängen. Das Remote-Debugging geht nicht über diese bestehenden Berechtigungen hinaus. Stattdessen werden zusätzliche Sicherheitskontrollen durch sicheres Tunneling und automatische Sitzungsverwaltung hinzugefügt. Darüber hinaus ist das Remote-Debugging ein vollständig vom Kunden kontrolliertes Feature, das explizite Berechtigungen und Aktionen erfordert:
+ **Erstellung eines sicheren IoT-Tunnels**: Das AWS-Toolkit muss einen sicheren IoT-Tunnel erstellen, was nur mit der ausdrücklichen Berechtigung des Benutzers über `iot:OpenTunnel` möglich ist.
+ **Anhängen der Debugging-Ebene und Tokenverwaltung**: Der Debugging-Prozess gewährleistet die Sicherheit durch folgende Kontrollen:
  + Die Debugging-Ebene muss an die Lambda-Funktion angehängt werden, wofür die folgenden Berechtigungen erforderlich sind: `lambda:UpdateFunctionConfiguration` und `lambda:GetLayerVersion`.
  + Ein Sicherheitstoken (generiert über `iot:OpenTunnel`) muss vor jeder Debugging-Sitzung in der Funktionsumgebungsvariablen aktualisiert werden, was ebenfalls `lambda:UpdateFunctionConfiguration` erfordert.
  + Aus Sicherheitsgründen wird dieses Token automatisch rotiert und die Debug-Ebene wird am Ende jeder Debugging-Sitzung automatisch entfernt und kann nicht wiederverwendet werden.

**Anmerkung**  
Remote-Debugging wird sowohl für x86\$164- als auch für arm64-Architekturen unterstützt.

## Voraussetzungen
<a name="debugging-prerequisites"></a>

Bevor Sie mit dem Remote-Debugging beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:

1. Eine Lambda-Funktion, die für Ihr AWS-Konto bereitgestellt wurde.

1. AWS Toolkit for Visual Studio Code. Installationsanweisungen finden Sie unter [Einrichten des AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html).

1. Die Version des AWS-Toolkits, die Sie installiert haben, ist mindestens **3.69.0**.

1. AWS-Anmeldeinformationen, die in AWS Toolkit for Visual Studio Code konfiguriert sind. Weitere Informationen finden Sie unter [Authentifizierung und Zugriffskontrolle](foundation-iac-local-development.md#lambda-functions-vscode-authentication-and-access-control).

## Remote-Debugging von Lambda-Funktionen
<a name="debugging-procedure"></a>

Führen Sie die folgenden Schritte aus, um eine Remote-Debugging-Sitzung zu starten:

1. Öffnen Sie den AWS Explorer in VS Code, indem Sie das AWS-Symbol in der linken Seitenleiste auswählen.

1. Erweitern Sie den Abschnitt „Lambda“, um Ihre Funktionen anzuzeigen.

1. Klicken Sie mit der rechten Maustaste auf die Funktion, die Sie debuggen möchten.

1. Wählen Sie im Kontextmenü die Option **Remote aufrufen** aus.

1. Aktivieren Sie im sich öffnenden Aufruffenster das Kontrollkästchen **Debugging aktivieren**.

1. Klicken Sie auf **Aufrufen**, um die Remote-Debugging-Sitzung zu starten.

**Anmerkung**  
Lambda-Funktionen haben ein kombiniertes Limit von 250 MB für Funktionscode und alle angehängten Ebenen. Die Remote-Debugging-Ebene erhöht die Größe Ihrer Funktion um ca. 40 MB.

Eine Remote-Debugging-Sitzung endet, wenn Sie:
+ auf dem Bildschirm mit der Remoteaufruf-Konfiguration“ die Option **Debug-Setup entfernen** auswählen
+ in den Debugging-Steuerelementen von VS Code das Symbol „Trennen“ auswählen
+ die Handler-Datei im VS-Code-Editor auswählen.

**Anmerkung**  
Die Debugging-Ebene wird automatisch entfernt, wenn nach Ihrem letzten Aufruf 60 Sekunden lang keine Aktivität stattfindet.

## Deaktivieren von Remote-Debugging
<a name="debugging-disable"></a>

Es gibt drei Möglichkeiten, dieses Feature zu deaktivieren:
+ **Funktionsupdates verweigern**: `lambda:UpdateFunctionConfiguration` auf `deny` setzen
+ **IoT-Berechtigungen einschränken**: IoT-bezogene Berechtigungen verweigern
+ **Debug-Ebenen blockieren**: `lambda:GetLayerVersion` für die folgenden ARNs verweigern:
  + `arn:aws:lambda:*:*:layer:LDKLayerX86:*`
  + `arn:aws:lambda:*:*:layer:LDKLayerArm64:*`
**Anmerkung**  
Durch Deaktivieren dieses Features wird verhindert, dass die Debugging-Ebene während der Aktualisierung der Funktionskonfiguration hinzugefügt wird.

## Zusätzliche Informationen
<a name="debugging-related-info"></a>

Weitere Informationen zur Verwendung von Lambda in VS Code finden Sie unter [Lokale Entwicklung von Lambda-Funktionen mit VS Code](foundation-iac-local-development.md).

Ausführliche Anweisungen zur Fehlerbehebung, zu erweiterten Anwendungsfällen und zur regionalen Verfügbarkeit finden Sie unter [Remote-Debuggen von Lambda-Funktionen](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/lambda-remote-debug.html) im AWS Toolkit for Visual Studio Code-Benutzerhandbuch.