

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.

# Debuggen Sie Ihre serverlose Anwendung mit AWS SAM
<a name="debug-application"></a>

Nach dem Testen Ihrer Anwendung sind Sie bereit, alle gefundenen Probleme zu debuggen. Mit der AWS SAM Befehlszeilenschnittstelle (CLI) können Sie Ihre serverlose Anwendung lokal testen und debuggen, bevor Sie sie in die Cloud hochladen. AWS Durch das Debuggen Ihrer Anwendung werden Probleme oder Fehler in Ihrer Anwendung identifiziert und behoben.

Sie können AWS SAM es verwenden, um ein schrittweises Debugging durchzuführen. Dabei handelt es sich um eine Methode, bei der Code zeilenweise oder Anweisung nach der anderen ausgeführt wird. Wenn Sie lokal eine Lambda-Funktion im Debug-Modus innerhalb von aufrufen AWS SAMCLI, können Sie ihr anschließend einen Debugger anhängen. Mit dem Debugger können Sie Ihren Code Zeile für Zeile durchgehen, die Werte verschiedener Variablen einsehen und Probleme beheben, genauso wie Sie es mit jeder anderen Anwendung tun würden. Sie können überprüfen, ob sich Ihre Anwendung wie erwartet verhält, Fehler debuggen und alle Probleme beheben, bevor Sie die Schritte zum Verpacken und Bereitstellen Ihrer Anwendung ausführen.

**Anmerkung**  
Wenn Ihre Anwendung eine oder mehrere Ebenen umfasst, wird das Layer-Paket heruntergeladen und auf Ihrem lokalen Host zwischengespeichert, wenn Sie Ihre Anwendung lokal ausführen und debuggen. Weitere Informationen finden Sie unter [Wie werden Ebenen lokal zwischengespeichert](serverless-sam-cli-layers.md#local-testing-with-layers).

**Topics**
+ [Lokales Debuggen von Funktionen mit AWS SAM](serverless-sam-cli-using-debugging.md)
+ [Übergeben Sie beim Debuggen mehrere Laufzeitargumente mit AWS SAM](serverless-sam-cli-using-debugging-additional-arguments.md)
+ [Validieren Sie Ihre AWS SAM Bewerbungen mit CloudFormation Linter](validate-cfn-lint.md)

# Lokales Debuggen von Funktionen mit AWS SAM
<a name="serverless-sam-cli-using-debugging"></a>

Sie können eine Vielzahl von AWS Toolkits und Debuggern verwenden AWS SAM , um Ihre serverlosen Anwendungen lokal zu testen und zu debuggen. Durch das schrittweise Debuggen Ihrer Lambda-Funktionen können Sie Probleme in Ihrer Anwendung Zeile oder Anweisung für Zeile in Ihrer lokalen Umgebung identifizieren und beheben.

Zu den Möglichkeiten, wie Sie lokales schrittweises Debugging durchführen können, gehören das Setzen von Breakpoints, das Überprüfen von Variablen und das zeilenweise Ausführen von Funktionscode. Durch lokales schrittweises Debuggen wird die Feedback-Schleife enger, indem es Ihnen ermöglicht, Probleme zu finden und zu beheben, auf die Sie in der Cloud stoßen könnten.

Sie können AWS Toolkits zum Debuggen verwenden, und Sie können es auch im Debug-Modus ausführen. AWS SAM Einzelheiten finden Sie in den Themen in diesem Abschnitt. 

## Verwenden von AWS Toolkits
<a name="serverless-sam-cli-using-aws-toolkits"></a>

AWS Toolkits sind IDE-Plugins (Integrated Development Environment), mit denen Sie viele gängige Debugging-Aufgaben ausführen können, wie z. B. das Setzen von Breakpoints, das Prüfen von Variablen und das zeilenweise Ausführen von Funktionscode. AWS Toolkits erleichtern Ihnen das Entwickeln, Debuggen und Bereitstellen serverloser Anwendungen, die mit erstellt wurden. AWS SAM Sie bieten eine Erfahrung zum Erstellen, Testen, Debuggen, Bereitstellen und Aufrufen von Lambda-Funktionen, die in Ihre IDE integriert sind.

Weitere Informationen zu AWS Toolkits, die Sie zusammen verwenden können, finden Sie im Folgenden AWS SAM:
+ [AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/)
+ [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/)
+ [AWS Toolkit for JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/)

Es gibt eine Vielzahl von AWS Toolkits, die mit unterschiedlichen Kombinationen von IDEs und Laufzeiten funktionieren. In der folgenden Tabelle sind gängige IDE/runtime Kombinationen aufgeführt, die das schrittweise Debuggen von Anwendungen unterstützen: AWS SAM 


| IDE | Laufzeit | AWS Toolkit | Anweisungen für das schrittweise Debuggen | 
| --- | --- | --- | --- | 
| Visual Studio Code |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/serverless-application-model/latest/developerguide/serverless-sam-cli-using-debugging.html)  | AWS Toolkit for Visual Studio Code | [Arbeiten mit AWS-Serverless-Anwendung](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/serverless-apps.html) im Benutzerhandbuch AWS Toolkit for Visual Studio Code   | 
| AWS Cloud9 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/serverless-application-model/latest/developerguide/serverless-sam-cli-using-debugging.html)  | AWS Cloud9, mit aktiviertem AWS Toolkit 1 |  [Arbeiten mit AWS serverlosen Anwendungen mithilfe des AWS Toolkits](https://docs.aws.amazon.com/cloud9/latest/user-guide/serverless-apps-toolkit.html) *im AWS Cloud9 Benutzerhandbuch.*  | 
| WebStorm | Node.js | AWS Toolkit for JetBrains2 |  [Ausführen (Aufrufen) oder Debuggen einer](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) lokalen Funktion in der *AWS Toolkit for JetBrains*  | 
| PyCharm | Python | AWS Toolkit for JetBrains2 |  [Ausführen (Aufrufen) oder Debuggen einer](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) lokalen Funktion in der *AWS Toolkit for JetBrains*  | 
| Rider | .NET | AWS Toolkit for JetBrains2 |  [Ausführen (Aufrufen) oder Debuggen einer](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) lokalen Funktion in der *AWS Toolkit for JetBrains*  | 
| IntelliJ | Java | AWS Toolkit for JetBrains2 |  [Ausführen (Aufrufen) oder Debuggen einer](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) lokalen Funktion in der *AWS Toolkit for JetBrains*  | 
| GoLand | Go | AWS Toolkit for JetBrains2 |  [Ausführen (Aufrufen) oder Debuggen einer](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) lokalen Funktion in der *AWS Toolkit for JetBrains*  | 

**Hinweise:**

1. Um das schrittweise Debuggen von AWS SAM Anwendungen AWS Cloud9 zu verwenden, muss das AWS Toolkit aktiviert sein. *Weitere Informationen finden Sie im Benutzerhandbuch unter [Aktivieren des AWS Toolkits](https://docs.aws.amazon.com/cloud9/latest/user-guide/toolkit-welcome.html#access-toolkit).AWS Cloud9 *

1.  AWS Toolkit for JetBrains Um die schrittweisen AWS SAM Debug-Anwendungen verwenden zu können, müssen Sie sie zunächst installieren und konfigurieren, indem Sie den Anweisungen unter [Installation](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/setup-toolkit.html) von folgen. AWS Toolkit for JetBrains*AWS Toolkit for JetBrains*

## Wird AWS SAM lokal im Debug-Modus ausgeführt
<a name="serverless-sam-cli-running-locally"></a>

[https://pypi.org/project/ptvsd/](https://pypi.org/project/ptvsd/)

Um AWS SAM im Debug-Modus zu starten, verwenden Sie Befehle oder die Option oder. [sam local invoke](sam-cli-command-reference-sam-local-invoke.md) [sam local start-api](sam-cli-command-reference-sam-local-start-api.md) `--debug-port` `-d`

Beispiel:

```
# Invoke a function locally in debug mode on port 5858
sam local invoke -d 5858 <function logical id>

# Start local API Gateway in debug mode on port 5858
sam local start-api -d 5858
```

**Anmerkung**  
Wenn Sie verwenden`sam local start-api`, macht die lokale API-Gateway-Instanz alle Ihre Lambda-Funktionen verfügbar. Da Sie jedoch einen einzelnen Debug-Port angeben können, können Sie jeweils nur eine Funktion debuggen. Sie müssen Ihre API aufrufen, bevor sie sich an den Port AWS SAMCLI bindet, sodass der Debugger eine Verbindung herstellen kann.

# Übergeben Sie beim Debuggen mehrere Laufzeitargumente mit AWS SAM
<a name="serverless-sam-cli-using-debugging-additional-arguments"></a>

Sie können sich dafür entscheiden, zusätzliche Laufzeitargumente mit AWS SAM zu übergeben, um Probleme zu untersuchen und Variablen effektiver zu behandeln. Auf diese Weise erhalten Sie mehr Kontrolle und Flexibilität für Ihren Debugging-Prozess, was Ihnen bei benutzerdefinierten Laufzeitkonfigurationen und -umgebungen helfen kann.

Verwenden Sie die Umgebungsvariable, um beim Debuggen Ihrer Funktion zusätzliche Laufzeitargumente zu übergeben. `DEBUGGER_ARGS` Dadurch wird eine Reihe von Argumenten direkt an den Run-Befehl übergeben, mit dem AWS SAMCLI Ihre Funktion gestartet wird.

Wenn Sie beispielsweise einen Debugger wie i KPdb zur Laufzeit Ihrer Python-Funktion laden möchten, können Sie Folgendes als `DEBUGGER_ARGS: -m ikpdb --ikpdb-port=5858 --ikpdb-working-directory=/var/task/ --ikpdb-client-working-directory=/myApp --ikpdb-address=0.0.0.0` übergeben. Dies würde i zur KPdb Laufzeit mit den anderen Argumenten laden, die Sie angegeben haben.

In diesem Fall wäre Ihr vollständiger AWS SAMCLI Befehl:

```
DEBUGGER_ARGS="-m ikpdb --ikpdb-port=5858 --ikpdb-working-directory=/var/task/ --ikpdb-client-working-directory=/myApp --ikpdb-address=0.0.0.0" echo {} | sam local invoke -d 5858 myFunction
```

Sie können Debugger-Argumente an die Funktionen aller Laufzeiten übergeben.

# Validieren Sie Ihre AWS SAM Bewerbungen mit CloudFormation Linter
<a name="validate-cfn-lint"></a>

 AWS CloudFormation Linter (cfn-lint) ist ein Open-Source-Tool, mit dem Sie Ihre Vorlagen detailliert validieren können. CloudFormation CFN-Lint enthält Regeln, die sich an der Ressourcenspezifikation orientieren. CloudFormation Verwenden Sie cfn-lint, um Ihre Ressourcen mit diesen Regeln zu vergleichen und detaillierte Meldungen zu Fehlern, Warnungen oder Informationsvorschlägen zu erhalten. Alternativ können Sie Ihre eigenen benutzerdefinierten Regeln erstellen, anhand derer validiert werden soll. *Weitere Informationen zu cfn-lint finden Sie im Repository unter [cfn-lint](https://github.com/aws-cloudformation/cfn-lint).CloudFormation GitHub * 

 Sie können cfn-lint verwenden, um Ihre AWS Serverless Application Model (AWS SAM) -Vorlagen über die AWS SAM Befehlszeilenschnittstelle (AWS SAMCLI) zu validieren, indem Sie sie mit der Option ausführen. **sam validate** **--lint** 

```
sam validate --lint
```

 Um das Verhalten von cfn-lint anzupassen, z. B. um benutzerdefinierte Regeln zu erstellen oder Validierungsoptionen anzugeben, können Sie eine Konfigurationsdatei definieren. Weitere Informationen finden Sie unter [Config File](https://github.com/aws-cloudformation/cfn-lint#config-file) im *cfn-lint-Repository CloudFormation GitHub *. Bei der Ausführung wird **sam validate --lint** das in Ihrer Konfigurationsdatei definierte Verhalten von cfn-lint angewendet. 

## Beispiele
<a name="validate-cfn-lint-examples"></a>

### Führen Sie eine CFN-Lint-Validierung für eine Vorlage durch AWS SAM
<a name="validate-cfn-lint-examples-example1"></a>

```
sam validate --lint --template myTemplate.yaml
```

## Weitere Informationen
<a name="validate-cfn-lint-learn"></a>

 Weitere Informationen zum **sam validate**-Befehl finden Sie unter [sam validate](sam-cli-command-reference-sam-validate.md). 