Ich war vor einiger Zeit an der Entwicklung von PHP-Erweiterungen beteiligt und musste PHP-Quellcode debuggen. Allerdings sind die meisten Tutorials im Internet Debugging-Tutorials für WINDOWS-Systeme und der Prozess ist nur grob erklärt. Deshalb habe ich beschlossen, zu versuchen, eine Debugging-Umgebung unter WINDOWS einzurichten. Schließlich sind die Prinzipien dieselben :).
1. Vorbereitung
Das Folgende ist die Konfiguration auf meiner Entwicklungsmaschine, die mit meiner übereinstimmen kann, um zusätzliche Fehler zu reduzieren aufgrund von Werkzeugversionen Die Wahrscheinlichkeit von Problemen.
1.Visual Code-Quellcode-Bearbeitungs- und Debugging-Tool (Empfohlenes Lernen: Vscode-Einführungs-Tutorial)
2.Visual Studio Community2017 (VS bringt normalerweise alle Dinge mit, die für die Entwicklung unter WIN benötigt werden, schließlich der Universe Family Bucket...)
Der rot markierte Bereich muss installiert werden
3.PHP7-Quellcode (Sie können ihn auch von Github abrufen)
Sie können nach Belieben eine verpackte Version des Quellcodes auswählen
4.PHP7- SDK
Da ich PHP7 kompiliere, habe ich das 64-Bit-Paket deps-7.1-vc14-x64 (erweitertes Abhängigkeitsbibliothekspaket) ausgewählt und erstellt php-sdk-binary-tools-Ordner, entpacken Sie php-sdk-binary-tools-xxx.zip in diesen Ordner, erstellen Sie den Ordner deps-vc14-x64 und entpacken Sie auch deps-7.1-vc14-x64.7z in diesen Ordner.
Fügen Sie gleichzeitig den Bin-Pfad in php-sdk-binary-tools zur WINDOWS-Systemvariablen PATH hinzu. deps-7.1-vc14-x64 wird in diesem Artikel vorerst nicht verwendet, aber Sie können es auch zuerst herunterladen, da die Bibliotheken und Header-Dateien, die einige der mitgelieferten Erweiterungen kompilieren, darin enthalten sind, wenn Sie möchten Um die mitgelieferten Erweiterungen zu kompilieren, können Sie es verwenden :).
2. Kompilieren Sie den Quellcode
Führen Sie nach der Installation von VS x64 im Ordner „Native“ von Visual Studio 2017 aus Tools-Eingabeaufforderung für VS 2017
Geben Sie nach dem Ausführen das PHP7-Quellcodeverzeichnis ein
1. Führen Sie buildconf.bat aus, um die WIN-Konfigurationsdatei zu generieren (configure.js)
2. Sie können configure.bat --help ausführen, um die unterstützten Kompilierungsparameter anzuzeigen
3. Führen Sie configure.bat --disable-all --enable-cli aus --enable-debug (um die einfache Kompilierung zu demonstrieren, können Sie selbst Parameter hinzufügen)
4 Führen Sie den Befehl nmake aus, um die Kompilierung zu starten
Mit der Konfiguration des lokalen Computers Die ausführbare Datei befindet sich nach der Kompilierung in der Quelle. Unter x64/Debug_TS im Codeverzeichnis können Sie sich darauf vorbereiten, später mit dem Debuggen zu beginnen.
3. Verwenden Sie VSCODE zum Debuggen
Es gibt zwei Debugging-Methoden, eine ist das zusätzliche Prozess-Debugging und die andere ist das Ausführen des Start-Debuggings. Beide Methoden werden vorgestellt. Lassen Sie uns zunächst das Ausführen des Start-Debuggings vorstellen.
Erstellen Sie zunächst eine PHP-Quellcodedatei zum Testen. Ich habe sie in x64/Debug_TS im Quellcodeverzeichnis erstellt.
Wählen Sie dann das Menü Debug-> Konfiguration öffnen und wählen Sie C++ (Windows)
Ändern Sie abschließend die Konfigurationsdatei wie folgt
Wir haben die CLI von PHP SAPI zuvor kompiliert. Wir öffnen die Quelldatei sapi/cli/php_cli.c, suchen die Hauptfunktion in Zeile 1197 und setzen einen Haltepunkt darin.
Dann können wir zum DEBUG-Kontrollfeld von VS gehen, um das Debuggen auszuführen.
Sie sehen dann den erreichten Haltepunkt.
Die angehängte Prozess-Debugging-Konfiguration ist ebenfalls ähnlich. Wir klicken auf die Menüoption „Debuggen“ und wählen im Popup „Konfiguration hinzufügen“ aus Auswahlliste
Die endgültige Konfigurationsdatei lautet wie folgt:
Wir verwenden zunächst PHP -S, um einen integrierten Server zu starten (dieses PHP muss die von Ihnen kompilierte und generierte php.exe-Datei sein), um die Demonstration des zusätzlichen Prozess-Debuggings zu erleichtern. Der Speicherort, den ich gestartet habe, ist der Test Wir haben zuvor das Verzeichnis erstellt, in dem sich die PHP-Datei befindet.
Der Zugriffseffekt ist wie folgt:
Der Weg zum Starten des Debuggens ist derselbe, wählen Sie einfach (Windows) Anhängen im Debugging-Panel aus von VSCODE zum Ausführen.
Wählen Sie dann den PHP-Prozess in der Popup-Prozessliste aus und beginnen Sie mit dem Eintritt in den Debugging-Status.
Wir verwenden die Funktion array_push in test.php. Dieses Mal gehen wir zum Implementierungshaltepunkt dieser Funktion, öffnen ext/standard/array.c, suchen die Zeile 2540 und setzen einen Haltepunkt.
Besuchen Sie dann http://127.0.0.1:8080/test.php im Browser, um den Haltepunkt auszulösen.
4. Abschließend
Die Debugging-Methode in diesem Artikel kann natürlich auch als Debugging-Methode für die erweiterte Entwicklung verwendet werden Gilt für Universe IDE Visual Studio. Meine Idee, VSCODE zum Debuggen von PHP-Quellcode unter WINDOWS zu konfigurieren, ist auch auf andere Plattformen (Mac/Linux...) anwendbar. Wenn Sie daran interessiert sind, PHP-Quellcode in Visual Studio zu debuggen, ist es besser, diesen Artikel als Idee zu verwenden und selbst darüber nachzudenken~
Das obige ist der detaillierte Inhalt vonVerwenden von VSCODE zum Debuggen von PHP7-Quellcode unter WINDOWS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!