Debugging - Wir alle machen es viel. Das erste Mal, dass das erste Mal Code perfekt ist, ist schwierig und nur wenige (wenn überhaupt) gelten ihm. Vor mehr als einem Jahr schrieb Shameer einen Artikel über SitePoint darüber, wie Sie Ihre Anwendung mit XDEBUG und NetBeans debuggen können. In diesem Artikel werden wir uns ansehen, wie wir mit XDEBUG in Kombination mit Sublime Text debuggen können.
Zunächst müssen wir die Php XDebug -Erweiterung installieren lassen. Wenn Sie sich nicht sicher sind, wie Sie dies erledigen können, sehen Sie sich bitte den Link an, der in der Einführung bereitgestellt wird. Stellen Sie sicher, dass XDEBUG funktioniert, indem Sie überprüfen, ob es in Ihrem Phpinfo () aufgeführt ist.
Natürlich brauchen wir auch erhabenen Text. Ich werde die neueste Version verwenden: Sublime Text 3. Es sollte auch mit Sublime Text 2.
Wir müssen XDEBUG konfigurieren, indem wir Ihre Php.ini-Datei Folgendes zu einer XDEBUG.ini-Datei hinzufügen, wie hier unter How-to on Linux beschrieben.
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
Im Allgemeinen werden Sie 127.0.0.1 als Host verwenden. Wenn Sie zum Beispiel Vagrant verwenden, werden Sie je nach Ihrem System so etwas wie 10.0.2.2 verwenden.
.Das Remote -Protokoll ist nicht erforderlich, aber bei Problemen ist es der Ort, an dem Sie Informationen über Fehler finden können.
Vergessen Sie nicht, Ihren Webserver neu zu starten!
Eine der Stärken des Erhabenen ist die Tatsache, dass Sie sie leicht mit Paketen erweitern können. In diesem Fall werden wir das XDebug -Paket installieren. Wenn Sie dies noch nicht getan haben, stellen Sie sicher, dass Sie Pakete installieren können, indem Sie die Paketsteuerung installieren.
Sobald Sie die Paketsteuerung installiert haben, sollten Sie den Sublime -Text starten. 3. Öffnen Sie die Befehlspalette im Menü "Tools" und suchen Sie nach "Paket installieren".
Jetzt können Sie nach jedem Paket suchen, das Ihnen gefällt. In unserem Fall suchen wir nach dem Paket "XDEBUG -Client".
Das letzte Stück, das wir tun müssen, ist, das Projekt innerhalb von Sublime einzurichten. Der einfachste Weg, dies zu tun, besteht darin, das Stammverzeichnis Ihrer Anwendung zu öffnen, zu Projekten zu gehen und auf „Projekte speichern“ zu klicken. Ich schlage vor, Sie speichern die Datei im Root Ihrer Anwendung, sodass Sie sie in Ihrem Versionskontrollsystem speichern können, wenn Sie irgendwelche verwenden, und Sie können sie jederzeit problemlos konfigurieren.
Öffnen Sie die gerade erstellte Projektdatei. Der Inhalt wird so aussehen:
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
Wir werden noch ein paar Zeilen hinzufügen:
<span>{ </span><span> "folders": </span><span> [ </span><span> { </span><span> "follow_symlinks": true, </span><span> "path": "." </span><span> } </span><span> ] </span><span>}</span>
Wie Sie sehen, habe ich meiner tatsächlichen Webanwendung nur eine URL hinzugefügt. Ich könnte weitere Einstellungen für XDEBUG einstellen. Dies reicht jedoch aus, um mit zu beginnen. Ich hätte diese URL auch in den XDebug -Einstellungen selbst festlegen können, aber in diesem Fall konnte ich nicht an mehreren Projekten arbeiten, ohne jedes Mal die XDEBUG -Konfiguration zu ändern.
Wir können jetzt die XDebug -Sitzung starten, um festzustellen, ob alles richtig eingerichtet ist. Klicken Sie im Menü auf Tools -> xDebug und klicken Sie auf Start Debugging (Startbrowser). Sie werden feststellen, dass Ihre Website geöffnet ist und dass? Dadurch wird die XDebug -Sitzung gestartet. In Sublime erscheinen einige zusätzliche Panels dort, wo Debug -Informationen angezeigt werden, nachdem Sie einen oder mehrere Haltepunkte festgelegt haben.
Lassen Sie uns den ersten Haltepunkt auslegen. Ein Haltepunkt ist im Grunde ein Flag, in dem Ihre Bewerbung beim Erreichen des Erreichens annimmt. Im Moment, in dem es annimmt, können Sie alle Werte der Variablen inspizieren, damit Sie tatsächlich wissen, was los ist.
Wir können einen Breakpoint hinzufügen, indem wir mit unserer rechten Maus in einer Zeile klicken, zu XDebug gehen und dann auf den Haltepunkt hinzufügen/entfernen. Ein Marker wird zur Zeilenrinne hinzugefügt, um anzuzeigen, dass ein Haltepunkt festgelegt wurde.
Wir öffnen unseren Browser erneut und fahren mit der Sitzung fort, die wir gerade angefangen haben. Sie werden feststellen, dass sobald Sie zur Seite gehen, auf der sich der Haltepunkt befindet, die Seite nicht mehr lädt. Wenn Sie jetzt Sublime öffnen, sehen Sie viele Informationen, die in den XDebug -Panels angezeigt werden.
Der XDEBUG -Stack und der Xdebug -Kontext sind sehr interessant. Im Stapel können Sie den gesamten Stacktrace sehen, den Ihr Anruf durchlief.
Im Kontext sehen Sie alle globalen Variablen, aber auch die Variablen, die Sie selbst definiert haben. Sie können auf diese Variablen klicken, um zu sehen, dass genau diese Variablen gehalten werden. Zum Beispiel habe ich im folgenden Screenshot auf die Variable $ _server geklickt.
Beachten Sie, dass ein gelber Pfeil auf die Zeile zeigt, auf die die Anwendung derzeit gestoppt ist.
Also hörte unsere Anwendung an und jetzt können wir die definierten Variablen durchsehen. Wir sind jedoch fertig und wollen weitermachen. Was jetzt? Wenn Sie die rechte Maus noch einmal klicken und über das XDebug -Menü schweben, haben Sie mehrere Optionen:
Lauf und Stopp sind leicht zu verstehen. Die Schrittmethoden könnten etwas verwirrend sein. Lassen Sie uns diese mit einem einfachen Beispiel eintauchen.
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
Stellen Sie sich vor, Sie haben der ersten Zeile der Methodenleiste einen Haltepunkt hinzugefügt. Also in der Linie mit dem Breakpoint -Kommentar (// Breakpoint).
Mit einem Schritt in den Debugger tritt der Debugger in die Foobar -Methode ein und hält hier in der ersten Zeile an. In diesem Fall wird der Debugger die Rückgabearray_Values ($ arr) anhalten. Zeile.
Schritt übernimmt die Methode, wird aber nicht aufhören. Es wird an der nächsten verfügbaren Zeile stehen, nachdem die Methode aufgerufen wurde. In diesem Fall wird es bei der Rückkehr $ arr;
aufhörenSchließlich wird es mit Schritt aus der gesamten Balkenmethode durchlaufen und zum Anrufer zurückkehren. In diesem Fall geht es aus dem Objekt zurück zum ursprünglichen Anrufer.
Wenn Sie sich nur für die Ausführung entscheiden, wird die Anwendung bis zu dem Moment, in dem die Ausführung oder einen anderen Haltepunkt stattfindet, weiter ausgeführt.
In diesem Artikel haben wir gesehen, wie wir XDebug mit Sublime integrieren konnten, und haben sichergestellt, dass wir verstanden haben, wie man debuggen. Fast jede für PHP geeignete Ideen kann sich in Xdebug integrieren. Wenn Sie daran interessiert sind, solche in NetBeans zu debuggen, sehen Sie sich den in der Einführung erwähnten Artikel an. Verwenden Sie Haltepunkte? Oder verwenden Sie PHP -Funktionen wie var_dump, um Ihre Debug -Daten zu erhalten? Lassen Sie uns in den Kommentaren unten wissen!
Konfigurieren von XDebug für Sublime Text 3 Beinhaltet die Änderung Ihrer Php.ini -Datei und Ihren Sublime Text 3 -Einstellungen. In Ihrer Php.ini -Datei müssen Sie die Einstellungen von xDebug.remote_enable und xdebug.remote_autostart festlegen. In Ihren sublime Text 3 -Einstellungen müssen Sie den Pfad zu Ihrem PHP -ausführbaren Datum angeben und die Portnummer, die XDebug für Kommunikation verwenden sollte .
Wenn Xdebug arbeitet nicht in Sublime Text 3, es kann mehrere Gründe geben. Ein häufiges Problem ist, dass die XDEBUG -PHP -Erweiterung nicht korrekt installiert oder konfiguriert ist. Ein weiteres Problem könnte sein, dass das XDEBUG -Paket für Sublime Text 3 nicht korrekt installiert oder konfiguriert ist. Es ist auch möglich, dass es ein Problem mit Ihren PHP- oder Sublime -Text -3 -Einstellungen gibt. Sublime Text 3, Sie müssen zunächst einen Haltepunkt in Ihrem Code festlegen. Dies kann erfolgen, indem Sie in die Dachrinne neben der Codezeile klicken, in der Sie den Haltepunkt möchten. Sobald der Haltepunkt festgelegt ist, können Sie die Debugging -Sitzung starten, indem Sie aus dem XDebug -Menü "Debugging" auswählen. kann xDebug mit Sublime Text 3 auf einem Mac verwenden. Der Prozess zur Installation und Konfiguration von XDEBUG auf einem Mac ähnelt dem Prozess für Windows, es gibt jedoch einige Unterschiede. Zum Beispiel kann der Ort der Php.ini -Datei und des PHP -Erweiterungsverzeichnisses unterschiedlich sein. XDEBUG In Sublime Text 3 müssen Sie die Funktion „Watch“ verwenden. Auf diese Weise können Sie Variablen angeben, die Sie während der Debugging -Sitzung überwachen möchten. Wenn sich eine beobachtete Variable ändert, wird ihr neuer Wert im XDebug -Bereich angezeigt. Sublime Text 3. Dies erfolgt mit den Befehlen "Schritt über", "Schritt in" und "Schritt aus". Mit diesen Befehlen können Sie die Ausführung Ihrer Codezeile nach Zeile steuern und die Identifizierung und Behebung von Fehler erleichtern. In einer Debugging -Sitzung in Sublime Text 3 können Sie den Befehl „Debugging stoppen“ im XDEBUG -Menü verwenden. Dadurch wird die Debugging -Sitzung beendet und die Steuerung in Sublime Text 3.
, um XDebug in Sublime Text 3 zu aktualisieren. Aktualisiert, indem Sie die neueste DLL -Datei von der XDebug -Website herunterladen und die vorhandene DLL -Datei in Ihrem PHP -Erweiterungsverzeichnis ersetzen. Das XDEBUG -Paket für Sublime Text 3 kann mithilfe der Paketsteuerung aktualisiert werden.
Das obige ist der detaillierte Inhalt vonDebugging mit Xdebug und Sublime Text 3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!