Debugging mit PhpStorm

Profitieren Sie von einem optimalen PHP-Debugging mit PhpStorm und Xdebug.

Haltepunkte setzen und verwalten

Die grafische Debugging-Oberfläche von PhpStorm stellt flexible Tools für die Verwendung von Haltepunkten bereit. Mit bedingten Haltepunkten können Sie sich auf spezielle Bedingungen – z. B. bestimmte Elemente in einer Schleife – konzentrieren. Sie möchten eine Ausnahme beim Auslösen abfangen? Verwenden Sie Ausnahme-Haltepunkte, die im gesamten Codebestand des Projekts gültig sind.

Haltepunkte und ihre Einstellungen verändern Ihre Quellcode-Dateien nicht – sie werden in Ihrem PhpStorm-Projekt gespeichert und können über mehrere Debugging-Sitzungen hinweg verwendet werden.

Den Code Zeile für Zeile ausführen

Um den Kontrollfluss zu debuggen und Datenstrukturen in jeder Zeile des ausgeführten Codes zu untersuchen, müssen Sie nicht überall Haltepunkte setzen. Stattdessen können Sie Ihren Code schrittweise ausführen und bei jedem Schritt den aktuellen Frame-Stack und die Variablen im Debug-Toolfenster untersuchen.

Sie haben sogar die Möglichkeit, in eine bestimmte Funktion hineinzuspringen und diese Zeile für Zeile zu debuggen.

Hypothesen testen und Codeverhalten verstehen

Interaktives Debug-Fenster

Im interaktiven Debug-Toolfenster von PhpStorm können Sie mit dem aktuellen Programmzustand experimentieren – Variablen ändern, PHP-Funktionen aufrufen oder definieren oder beliebige Ausdrücke auswerten – ohne Änderungen an Ihrem Quellcode vorzunehmen.

Inline-Debugger

Wenn das Programm angehalten ist, können Sie nicht nur im Debug-Toolfenster, sondern auch inline im Code-Editor Variablenwerte sehen und Überwachungen hinzufügen. Geänderte Werte werden hervorgehoben, sodass Sie leicht erkennen können, was sich seit dem letzten Erreichen des Haltepunkts geändert hat.

Datenfluss-Vorhersagen

Anhand der vom PHP-Debugger an Haltepunkten übermittelten Daten zeigt PhpStorm im Editor Hinweise darauf an, was im ausgeführten Codeabschnitt passieren wird. Als unerreichbar prognostizierte Codeblöcke im Pfad werden ausgegraut.

Debugging – jederzeit und überall

Lokales und Remote-Debugging

Sie erhalten Live-Debugging-Daten für jede ausgeführte Codezeile, selbst wenn die Ausführung auf einem Remote-Webserver – in einem Docker-Container, einer virtuellen Maschine oder auf einem Remote-Host über SSH – stattfindet. Ordnen Sie die Dateien auf dem Server ihren Kopien im PhpStorm-Projekt zu, richten Sie Xdebug ein und aktivieren Sie in PhpStorm das Lauschen auf eingehende Debug-Verbindungen.

JavaScript-Debugging

PhpStorm enthält den vollwertigen JavaScript-Debugger von WebStorm. Dieser unterstützt sowohl JavaScript im Browser als auch Node.js, und Sie haben sogar die Möglichkeit, den Xdebug- und den JavaScript-Debugger gleichzeitig auszuführen.

Debugging in Blade- und Twig-Templates

Setzen Sie Haltepunkte in Blade- und Twig-Templates und führen Sie den Code schrittweise aus, so wie Sie es von PHP-Dateien gewohnt sind. Die kompilierte Datei enthält keinen Verweis auf Template-Code? PhpStorm warnt Sie in diesem Fall, dass der gesetzte Haltepunkt nicht abgefangen wird.

Debugging von HTTP-API-Aufrufen

Sie können HTTP-Anfragen an PHP-Server direkt im integrierten HTTP-Client im PhpStorm-Editor debuggen. Die IDE ergänzt die Anfrage automatisch um das Xdebug-Cookie, führt sie aus und hält die Ausführung am angegebenen Haltepunkt in der entsprechenden PHP-Datei an.

Profiling-Daten anzeigen und analysieren

Zusätzlich zum Debugging erstellt PhpStorm visuelle Berichte aus den von Xdebug generierten Profiling-Daten. Sie können mehrere Snapshots auf einmal auswählen und die aggregierten Profiling-Daten zusammenfassen. In einem aggregierten Bericht können Sie von den Ausführungsstatistiken direkt zu den entsprechenden Funktionen in Ihrem PHP-Code springen.

Ihre IDE nimmt Ihnen die mühevolle Einrichtung ab

Überprüfung der Xdebug-Konfiguration

PhpStorm bezieht die Daten aus der Xdebug-Installation auf dem lokalen oder Remote-Webserver, um ein flexibles und leistungsfähiges Debugging innerhalb der IDE zu ermöglichen. Um die Konfiguration zu vereinfachen, validiert die IDE die Debugger-Einrichtung in der jeweiligen Umgebung und schlägt Korrekturen für erkannte Probleme vor.

Konfigurationsfreies Debugging

Dank konfigurationsfreiem Debugging müssen Sie lediglich die Startseite Ihrer PHP-Anwendung im Browser öffnen und dort die Debugging-Engine aktivieren. PhpStorm lauscht auf eingehende Debugger-Verbindungen und stellt die Debugging-Daten visuell dar.