Heim  >  Artikel  >  Backend-Entwicklung  >  Detailliertes Tutorial zur Verwendung des PHP-Debugging-Tools Xdebug

Detailliertes Tutorial zur Verwendung des PHP-Debugging-Tools Xdebug

小云云
小云云Original
2018-03-16 11:08:5511187Durchsuche

xdebug ist eine PHP-Erweiterung, offizielle Adresse: https://xdebug.org/index.php, die Entwicklern beim Debuggen von Code hilft. Dieser Artikel teilt Ihnen hauptsächlich das detaillierte Nutzungstutorial des PHP-Debugging-Tools Xdebug mit Version 2.6 ist Lassen Sie es uns hintereinander erklären, ich hoffe, es kann allen helfen.

Es hat diese Funktionen:

PHP-Fehleraufforderung ersetzen:

Farbanpassung zur Eingabeaufforderung hinzufügen, um verschiedene Informationen hervorzuheben
Großer Variablendruck:
Var_dump verbessern (), print_r() und andere Druckfunktionen sind beim Drucken großer Variablen sehr nützlich, um Abstürze zu vermeiden
Maximaler Rekursionsschutz:
Sie können die maximale Anzahl von Rekursionen begrenzen, um zu verhindern, dass PHP hängen bleibt
Funktionsaufrufverfolgung:
Kann den Funktionsaufrufprozess verfolgen, die eingehenden und zurückgegebenen Werte, Speichernutzung usw. anzeigen.
Codeabdeckungsanalyse:
Kann herausfinden, welche Zeilen ausgeführt wurden, als der Code ausgeführt wurde
Garbage-Collection-Analyse:
Wenn PHP eine Garbage-Collection durchführt, zeigt es Informationen an, z. B. welche Variablen bereinigt werden, wie viel Speicher freigegeben wird usw.
Code-Leistungsanalyse:
Sie können die Ausführungszeit jeder Variable sehen Teil des Codes und ermitteln Sie die Engpässe bei der Betriebseffizienz des Codes
Remote-Debugging:

Arbeiten Sie mit IDE-Tools für das Remote-Breakpoint-Debugging zusammen, sodass Sie die Ausführung des Codes Schritt für Schritt verfolgen können Zeigen Sie die Werte verschiedener Variablen im Betrieb an oder legen Sie sie fest. Vermeiden Sie die Verwendung von var_dump (), print_r () usw. Die Funktion ist auch die am häufigsten verwendete Funktion von xdebug und sehr leistungsstark.

Installation:
Zur Veranschaulichung wird die folgende Umgebung verwendet. Für andere Umgebungen folgen Sie bitte den Anweisungen:
Betriebssystem: Windows 10
PHP-Version: php-7.1.13-nts(32 Bit)
Download: https://xdebug.org/download.php
Bitte wählen Sie die entsprechende Version entsprechend Ihrer eigenen Umgebung (PHP-Version, ob Thread-sicher, Bitbreite usw.). Hier wähle ich basierend auf der vorherigen Umgebung:
Version: nts.dll in das ext-Verzeichnis von PHP
Ändern Sie die Datei php.ini und fügen Sie die folgende Konfiguration hinzu:
zend_extension="php_xdebug-2.6.0-7.1-vc14-nts.dll"
Führen Sie phpinfo( ). Wenn die xdebug-Erweiterung angezeigt wird, ist die Installation erfolgreich. Wenn nicht, überprüfen Sie bitte, ob Sie die richtige Version ausgewählt haben. Nach Abschluss der Installation müssen Sie für die tatsächliche Verwendung bestimmte Konfigurationen im PHP vornehmen. INI-Datei entsprechend Ihrem Zweck. Im Folgenden finden Sie allgemeine Anweisungen für jede Funktion.

Aktivieren Sie Fehlermeldungen im Xdebug-Modus:
Solange die xdebug-Erweiterung aktiviert ist, ist diese Funktion standardmäßig aktiviert und Fehler werden angezeigt Wenn Sie im ursprünglichen PHP-Stil anzeigen möchten, können Sie dies in der Konfigurationsdatei festlegen: xdebug .default_enable=0. Beachten Sie, dass sich diese Einstellung nicht auf das Ausschalten aller Funktionen von xdebug
bezieht
Konfigurieren Sie die Anzeige großer Variablen:
In einigen Programmen sind die Variablen sehr groß, z. B. die Knoten im berühmten Content-Management-System drupal8. Rendering-Array. Wenn Sie_r direkt drucken, friert der I5-Computer ein 8G Speicher, daher bietet Xdebug eine große variable Druckkonfiguration, um diese Situation zu vermeiden:
xdebug.var_display_max_children
Ganzzahl, Standard 128, die maximale Anzahl der angezeigten Array-Unterelemente oder Objektattribute Es gibt keine Begrenzung, setzen Sie es auf -1. Es wird beim Remote-Debuggen nicht beeinflusst.
xdebug.var_display_max_data
Ganzzahl, Standard 512, die maximale Länge der angezeigten Zeichenfolge, nein. Die Begrenzung ist auf -1 gesetzt , was keinen Einfluss auf das Remote-Debugging hat
xdebug.var_display_max_third
Ganzzahl, Standard 3, die maximale Verschachtelungstiefe beim Anzeigen von Array- oder Objektattributen, das Maximum ist 1023, Sie können -1 verwenden, um auf diese maximale Zahl zu verweisen

Maximaler Rekursionsschutz:
Legen Sie die folgenden Konfigurationselemente fest:
xdebug.max_nesting_level
Ganzzahl, der Standardwert ist: 256, unbegrenzt auf -1 gesetzt, unbegrenzter Rekursionsschutzmechanismus, wenn der rekursive Aufruf erreicht wird Das Programm wird beim Festlegen dieser Einstellung unterbrochen. Beachten Sie, dass zu diesem Zeitpunkt keine Fehlermeldung angezeigt wird, das Programm jedoch direkt beendet wird.

Funktionsaufrufverfolgung:
Einschließlich Objektmethodenaufrufen ist diese Funktion deaktiviert Standardmäßig. Nach dem Einschalten werden die Anrufdaten in eine Datei ausgegeben und die Datei angezeigt. Die Konfiguration ist wie folgt (der Wert ist hier auf unsere am häufigsten verwendete Situation zum Kopieren und Verwenden eingestellt. Weitere Informationen finden Sie in den Konfigurationsanweisungen unten). :
xdebug.auto_trace=1
;Tracing aktivieren, die Standardeinstellung ist deaktiviert
xdebug.trace_output_dir="C:rootxdebugtrace"
;Ausgabeverzeichnis für Tracing-Daten aufrufen
xdebug.trace_output_name=" yunke.%s.%u"
;Trace Der Dateiname der Datei
xdebug.collect_params=4
; Die Form der Sammlungsfunktionsparameter
xdebug.collect_return=1
; Ob der Funktionsrückgabewert erfasst werden soll
xdebug.show_mem_delta=1
; Speicherdetails anzeigen
xdebug.trace_format=0
; Trace-Dateiformat

Mit den obigen Einstellungen werden Analysedateien generiert Für alle Anfragen kann die Anrufverfolgungsanalyse auch durch Variablen ausgelöst werden (verfügbar über den Browser). Die Erweiterung wird automatisch abgeschlossen. Dies ist auch die empfohlene Methode (siehe unten), dh das Festlegen des Variablennamens XDEBUG_TRACE in GET/POST oder Cookie . Sein Wert ist der Schlüssel, der mit den folgenden Einstellungen übereinstimmt:
xdebug.auto_trace= 0
; Die automatische Ablaufverfolgung muss deaktiviert werden, wenn die variable Triggerverfolgung aktiviert ist.
xdebug.trace_enable_trigger= 1
xdebug.trace_enable_trigger_value="yunke"
;Dies ist der Wert der obigen XDEBUG_TRACE-Variable
Besuchen Sie beispielsweise die URL: http://www.test.com/index.php?XDEBUG_TRACE= yunke kann die Generierung von Tracking-Dateien auslösen
Hier ist „yunke“ ein Schlüsselwert. Nur wenn er mit der Konfigurationsdatei übereinstimmt, kann die Analysedatei generiert werden. Der Standardwert ist Nullzeichen

Codeabdeckungsanalyse:
Mit dieser Funktion können wir feststellen, welche Zeilen während der Codeausführung ausgeführt wurden. Sie wird normalerweise für Unit-Tests verwendet. Die Konfiguration ist wie folgt:
xdebug.coverage_enable=1
;Code-Coverage-Analyse ist aktiviert

Die Codeabdeckungsanalyse wird durch Aufrufen von Funktionen im PHP-Code durchgeführt. Der Prozess ist wie folgt und es wird ein Array-Ergebnis erhalten:
xdebug_start_code_coverage();//Überschreiben aktivieren
…// Etwas Code wird analysiert
var_dump(xdebug_get_code_coverage());//Erhalten Sie ein Array von Analyseergebnissen

Garbage-Collection-Analyse:
Diese Funktion ist standardmäßig deaktiviert und wird danach ausgegeben aktiviert Legen Sie die Garbage-Collection-Analysedaten in eine Datei ab, sehen Sie sich einfach die Datei an, die Konfiguration ist wie folgt (der Wert hier ist auf unsere am häufigsten verwendete Situation zum Kopieren und Verwenden eingestellt, weitere Informationen finden Sie in den Konfigurationsanweisungen unten):
xdebug.gc_stats_enable=1
;Garbage-Collection-Analyse aktivieren
xdebug.gc_stats_output_dir="C:rootxdebuggc"
;Das Datenausgabeverzeichnis, der Standardwert ist /tmp
xdebug.gc_stats_output_name="gcstats. %s.%u"
;Name der Ausgabedatei, Standard ist: gcstats.%p

Programmleistungsanalyse:
Diese Funktion ist standardmäßig deaktiviert. Wenn sie aktiviert ist, werden die Leistungsanalysedaten in einer Datei ausgegeben, die sich leicht maschinell analysieren lässt und eine spezielle Software erfordert Die Konfiguration lautet wie folgt (Werteinstellungen hier). Weitere Informationen zu unseren am häufigsten verwendeten Situationen zum Kopieren und Verwenden finden Sie in den folgenden Konfigurationsanweisungen:
xdebug.profiler_enable=1
; Leistungsanalyse aktivieren
xdebug.profiler_output_dir="C:rootxdebugprofiler"
; Ausgabeverzeichnis der Leistungsanalysedatei
xdebug.profiler_output_name="cachegrind.out.%s.%u"
;Name der Ausgabedatei der Leistungsanalyse

Mit den obigen Einstellungen werden Analysedateien für alle Anforderungen und Leistungsanalysen generiert. Sie können auch die Variablentriggerung verwenden (kann automatisch über Browsererweiterungen erfolgen, dies ist auch die empfohlene Methode, siehe unten), dh legen Sie den Variablennamen XDEBUG_PROFILE fest GET/POST oder Cookie, und sein Wert ist das Passwort, das mit dem folgenden Einstellungsschlüssel übereinstimmt. Die Konfiguration lautet wie folgt:
xdebug.profiler_enable=0
; Die automatische Analyse muss deaktiviert werden, wenn die variable Triggeranalyse aktiviert ist
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable_trigger_value="yunke"
; Dies ist der Wert der obigen XDEBUG_PROFILE-Variable
, der die Generierung von Analysedateien auslösen kann, z. B. den Besuch der URL: http: //www.test.com/index.php?XDEBUG_PROFILE=yunke
Hier ist „yunke“ ein Schlüsselwert. Eine Analysedatei kann nur generiert werden, wenn sie mit der Konfigurationsdatei übereinstimmt. Der Standardwert ist ein leeres Zeichen

Auf der offiziellen Website werden viele Arten von Software zum Anzeigen der Ausgabeanalysedateien vorgestellt. WinCacheGrind ist für die Analyse kleiner Programme jedoch unzureichend. Nach dem Testen von Yunke kann es zu Fehlern kommen , QCacheGrind hat die beste Wirkung. Es handelt sich um die Windows-Version von KCacheGrind. " ist die Ausführungszeit, einschließlich der Zeit intern aufgerufener Unterprogramme; die Spalte „Selbst“ ist die von ihr selbst verbrauchte Zeit, ohne Unterfunktionsaufrufe; die Spalte „Aufgerufen“ gibt an, wie oft die Funktion aufgerufen wird; „Funktion“ ist der Funktionsname; die Spalte „Ort“. ist der Dateispeicherort ;
Die Zeit wird in Mikrosekunden = 1000000 Mikrosekunden (μs) gemessen, was als Prozentsatz ausgedrückt werden kann.

Remote-Debugging:
Werfen wir einen Blick auf das Ganze Zuerst wird das zu debuggende Skript vom Browser mit speziellen Parametern geöffnet und die Ausführung des Skripts beginnt. Zu diesem Zeitpunkt initiiert Xdebug aktiv eine Verbindung zum konfigurierten Debugging-Client und verwendet das DBGp-Protokoll für die Interaktion Der Debugging-Client (der Debugging-Client ist häufig die von uns verwendete IDE, z. B. PHPStorm, der den Debugging-Netzwerkport abhören muss), der Debugging-Client verwendet das Protokoll, damit Xdebug den Code Schritt für Schritt ausführen, die Variable anzeigen oder festlegen kann Inhalt im Programm, und Xdebug unterbricht das PHP-Programm zwischen jedem Schritt. Der Debugging-Client kann dort einen Haltepunkt setzen, um das Programm anzuhalten. Der gesamte Prozess wird Schritt für Schritt von Xdebug in der PHP-Engine ausgeführt. Sie führt den Code aus und betreibt den Prozess. Sie erhält Anweisungen vom Debugging-Client.
Um Remote-Debugging durchzuführen, lauten die spezifischen Vorgänge wie folgt: Zuerst müssen Sie die folgende Konfiguration durchführen und PHP neu starten:
xdebug.remote_enable=1
;Remote-Debugging-Schalter
xdebug.remote_host=localhost
;Remote-Debugging-Client Die Hostadresse, also die Adresse des Hosts, auf dem sich die IDE befindet, lautet häufig localhost
xdebug.remote_port=9000
; nachdem der Remote-Debugging-Port
konfiguriert wurde, haben wir Öffnen Sie das Skript im Browser und senden Sie beim Öffnen den POST-Variablennamen. Die an den Browser angehängten Parameter können nach dem Empfang automatisch vervollständigt werden Auf Anfrage startet der Server den Debugging-Prozess entsprechend der Einstellung des Konfigurationselements xdebug.remote_mode. Wenn das Konfigurationselement „req“ lautet, initiiert Xdebug dann eine Debugging-Verbindung zum Debugging-Client (IDE). Ist es auch der Standardwert, wird die Verbindung nur dann initiiert, wenn ein Fehler auftritt. Sobald die Verbindung mit der IDE erfolgreich hergestellt wurde, wird das DBGp-Protokoll für Debugging-Interaktionen verwendet.
Wenn der Server von mehreren Entwicklern gemeinsam genutzt wird, gibt es mehrere Debugging-Clients und das Konfigurationselement xdebug.remote_host kann nur auf einen gesetzt werden. Zu diesem Zeitpunkt können Sie xdebug.remote_connect_back auf 1 setzen, wodurch das verwendet wird Die im http-Header erhaltene IP wird als Adresse des Debugging-Clients verwendet.
Das Standard-Timeout von Xdebug beim Initiieren einer Debugging-Verbindung beträgt 200 Millisekunden. Dieser Wert ist für das lokale Debuggen ausreichend damit zurechtkommen.


Browser-Plug-in-Unterstützung:
Wie oben erwähnt, erfordern das Auslösen von Analysen, das Verfolgen von Dateien und das Aktivieren von Remote-Debugging das Festlegen bestimmter Variablen und Werte in GET/POST oder Cookies, dann können wir Lassen Sie das den Browser für sich erledigen? en -GB/firefox/addon/xdebug-helper-for-firefox/
Sie sehen Xdebug Helper für Firefox, klicken Sie auf „Zu Firefox hinzufügen“ und folgen Sie den Anweisungen
Nachdem die Installation abgeschlossen ist, müssen Sie Folgendes konfigurieren: Drücken Sie die Tastenkombination „Strg + Umschalt + A“, um das Add-on-Panel zu öffnen, suchen Sie nach Xdebug Helper, klicken Sie auf „Optionen“ und geben Sie die IDE-Remote-Sitzungs-ID, den Analyseschlüssel und die Nachverfolgung ein Klicken Sie jeweils auf den Schlüssel (entsprechend xdebug.idekey in der Konfiguration), xdebug.profiler_enable_trigger_value und xdebug.trace_enable_trigger_value. Zu diesem Zeitpunkt wird in der Browser-Adressleiste der neu geöffneten Webseite ein Crawler-Symbol angezeigt Ausgewählt: Debuggen, Analyse, Nachverfolgung und Durchsuchen in den ersten drei Zuständen. Wenn wir beispielsweise die Analyse auswählen, wird die Variable XDEBUG_PROFILE hinzugefügt das Cookie, wenn die Verbindung aktualisiert wird. Der Wert ist der zuvor festgelegte Schlüsselwert. Dies ermöglicht es Xdebug, Analysedateien, Funktionsverfolgung und Remote zu generieren. Dasselbe gilt für das Debuggen.

phpstorm-Debugging:
Wie bereits erwähnt, ist das Remote-Debugging von Xdebug der Prozess, bei dem sie über das DBGp-Protokoll mit dem Debugging-Client interagiert. Der Remote-Debugging-Client muss den Netzwerkport abhören, um das Debugging zu empfangen Von Xdebug initiierte Verbindung. Hier dient PhpStorm als Remote-Debugging-Client, um die spezifischen Vorgänge zu erklären.
PhpStorm ist eine häufig verwendete IDE für Entwickler. Hier wird das berühmte Content-Management-System drupal8 verwendet. Zuerst müssen Sie Xdebug installieren und konfigurieren. Portauswahlstandard 9000, Firefox-Browser Installieren Sie die im vorherigen Abschnitt erwähnte Xdebug Helper für Firefox-Erweiterung und öffnen Sie dann das von PhpStorm erstellte Drupal-Projekt (Sie wissen immer noch nicht, wie Sie das Projekt erstellen? Besuchen Sie bitte Baidu oder die offizielle Drupal-Website) und öffnen Sie es : file > Default Settings > PHP > Geben Sie den Servernamen, die URL-Adresse und den Port ein, wählen Sie Xdebug als Debugger aus, überprüfen Sie nicht die Pfadzuordnung, klicken Sie auf „Übernehmen“ und „OK“, kehren Sie zum vorherigen Fenster zurück, geben Sie „/“ als Start-URL ein, wählen Sie Firefox mit installierter Xdebug Helper für Firefox-Erweiterung aus im Browser und klicken Sie auf „OK“. (Der Symbolempfänger wechselt in den Überwachungsstatus) oder klicken Sie auf das Menü „Ausführen |“. Start listen for PHP Debug Connections, um mit dem Abhören des 9000-Ports zu beginnen, und legen Sie einen Haltepunkt in der Indexdatei fest (klicken Sie auf die linke Seite der Codezeilennummer „Leer“) , ein roter Punkt erscheint), alles ist fertig, öffnen Sie den Firefox-Browser, wählen Sie das Crawler-Symbol in der Adressleiste als „Debug“ aus, öffnen Sie eine Drupal-Seite. Zu diesem Zeitpunkt öffnet PHPStrom das Debugging-Panel in der unteren linken Ecke, das dort bereitgestellt wird Es gibt viele Schaltflächen, mit denen Sie die Codeausführung steuern können: Das Variablen-Unterfenster listet alle Variablen im aktuellen Bereich auf, in dem Sie den Inhalt aller Variablen anzeigen können. Das Fenster „Rahmen“ listet die aktuelle Zeile auf Der Aufrufstapelrahmen, in dem er sich befindet.
Bitte lesen Sie in der offiziellen Dokumentation nach, wie Sie phpstorm zum Debuggen verwenden. Hier sind einige Debugging-Hilfedokumentseiten, die auf der offiziellen phpstorm-Website bereitgestellt werden:
https://. confluence.jetbrains.com/display /PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm
Debug-Vorgang:
https://confluence.jetbrains.com/display/PhpStorm/ Verwenden+des+PhpStorm+Debuggers

Beachten Sie, dass das Debuggen beim ersten Haltepunkt verbleibt. Wenn Sie keinen Haltepunkt festlegen, wird die Debugging-Sitzung auch so eingestellt, dass es dort bleibt die erste Codezeile (Wählen Sie „Ausführen“ > „Bei erster Zeile unterbrechen“ in PHP-Skripten).
Wenn während des Debuggens ein 500-Fehler im Browser auftritt und die Debugging-Verbindung getrennt wird, hat der Server wahrscheinlich das PHP-Programm beendet. Wenn Sie Apache im FastCGI-Modus ausführen, sieht das Fehlerprotokoll ähnlich aus wie „Ende“. der Skriptausgabe vor Headern“ festlegen, stellen Sie bitte die Parameter FcgidIOTimeout und IPCCommTimeout in der Serverkonfigurationsdatei httpd.conf auf die gewünschte Wartezeit in Sekunden ein. In anderen Umgebungen überprüfen Sie bitte die Timeout-Konfiguration selbst.


Allgemeine Konfiguration:
Alle Einstellungen und Details finden Sie unter: https://xdebug.org/docs/all_settings. Dieser Artikel gibt nur eine allgemeine Einführung
xdebug.trace_output_dir
Funktionsaufrufverfolgung Das Schreibverzeichnis der Datendatei, der Standardwert ist /tmp, stellen Sie sicher, dass sie geschrieben werden kann
xdebug.trace_output_name
Der Dateiname der Trace-Datei, der Standardwert ist: Trace.% c Zum Beispiel: yunke.%s.%u gibt das Band aus. Der Skriptname des Pfads und die subtile Zeit lauten wie folgt: yunke.C__root_test_index_php.1520473784_260486.xt
xdebug.auto_trace
Funktionsaufrufverfolgung aktivieren, Boolescher Wert, der Standardwert ist 0 um include()-, include_once()-, require()- oder require_once()-Dateien zu schreiben. Trace-Datei
xdebug.collect_params
Ganzzahl, Standard 0, bestimmt die Sammlung von Parametern für die Funktionsverfolgung, 0 bedeutet keine Sammlung, 1 der Typ und die Anzahl der Parameter, 2 fügt Tooltip-Informationen basierend auf 1, 3 vollständigem Variableninhalt hinzu (beeinflusst von den Variablenausgabeeinstellungen), 4 vollständig Variablen Inhalt und Variablennamen, 5php-serialisierter Inhalt hat keinen Variablennamen
xdebug.collect_return
Boolescher Wert, Standard 0, ob der Rückgabewert des Funktionsaufrufs in die Tracking-Datei geschrieben werden soll
xdebug.show_mem_delta
Ganzzahl, Standard ist 0, Werte ungleich Null zeigen die Speichernutzungsinformationen von Funktionsaufrufen an
xdebug.trace_format
Ganzzahl, Standard 0, das Format der Trace-Datei, 0 ist das für Menschen lesbare Format (Zeitindex, Speichernutzung usw.) 1 Maschinenlesbares Format 2 Menschenlesbares Format wird auf der Webseite angezeigt
xdebug.trace_options
Ganzzahl, Standardwert ist 0. Wenn auf 1 gesetzt, wird die Trace-Datei angezeigt angehängt statt zu überschreiben
xdebug.var_display_max_children
Ganzzahl, Standard 128, die maximale Anzahl der angezeigten Array-Unterelemente oder Objektattribute, kein Grenzwert auf -1 gesetzt, beim Remote-Debugging nicht betroffen
xdebug.var_display_max_data
Ganzzahl, Standard 512, maximale Länge der Anzeigezeichenfolge, nicht auf -1 beschränkt, hat keinen Einfluss auf das Remote-Debugging
xdebug.var_display_max_ Depth
Ganzzahl, Standard 3, maximale Verschachtelungstiefe bei der Anzeige von Array- oder Objektattributen, maximal 1023, Sie können -1 verwenden, um auf diese maximale Anzahl zu verweisen
xdebug.coverage_enable
Boolean, der Standardwert ist 1, ob die Codeabdeckungsanalyse aktiviert werden soll, Yunke hat tatsächlich gemessen, dass dieses Einstellungselement ungültig ist, Sie müssen die Funktion verwenden
xdebug.gc_stats_enable
Boolescher Wert zum Aktivieren und Erhalten der Analyseergebnisse. Der Standardwert ist 0, ob die statistische Analyse der Garbage Collection aktiviert werden soll.
xdebug.gc_stats_output_dir
Das Schreibverzeichnis für die statistische Garbage-Analyse, achten Sie darauf zu den Berechtigungen
xdebug.gc_stats_output_name
Der Dateiname der Müllanalysedatei und der Tracking-Analyse Die Dateinamenregeln sind die gleichen
xdebug.profiler_enable
Ganzzahl, der Standardwert ist 0, wenn es ist 1, die Leistungsanalysefunktion wird aktiviert
xdebug.profiler_aggregate
Ganzzahl, der Standardwert ist 0, wenn es nicht 0 ist, wird die Analyse mehrerer Anforderungen aktiviert. Schreiben Sie Daten in eine Datei für eine anforderungsübergreifende Analyse
xdebug.profiler_append
Ganzzahl, Standard 0, ob die Analysedatei den Anhängemodus verwendet, die Einstellung des Dateinamens hat Auswirkungen auf dieses Element
xdebug.profiler_enable_trigger
Ganzzahl, Standard ist 0, verwendet Triggermodus, um die Analysefunktion zu aktivieren. Wenn Sie sie aktivieren, müssen Sie die Zeichenfolge xdebug.profiler_enable
xdebug.profiler_enable_trigger_value
deaktivieren. Standard ist „“, Schlüssel zum Auslösen der Analyse, verwenden Sie die Zeichenfolge
xdebug.profiler_output_dir
mit xdebug.profiler_enable_trigger, Standard ist /tmp, Ausgabeverzeichnis der Analysedatei
xdebug.profiler_output_name
Name der Analysedatei, Die Standardeinstellung ist cachegrind.out.%p, siehe xdebug.trace_output_name
xdebug.extended_info
Ganzzahl, Standard ist 1, ob der PHP-Parser gezwungen werden soll, den erweiterten_Info-Modus auszuführen
xdebug.idekey
Zeichenfolge, Standard: *komplex*, Debugging-Sitzungs-ID, jeder vom Yunke-Testbrowser gesendete Wert kann das Debuggen starten, daher handelt es sich nicht um einen Schlüsselwert, aber einige Debugging-Clients können damit bestimmen, ob die Debugging-Verbindung akzeptiert werden soll, daher ist es am besten, xdebug.remote_addr_header
Der Standardwert ist eine leere Zeichenfolge „“, mit der angegeben wird, welcher HTTP-Header die Debug-Client-Adresse darstellt, verwendet in Kombination mit xdebug.remote_connect_back
xdebug.remote_autostart
Boolescher Wert, Standardwert 0 , normalerweise Verwenden Sie eine bestimmte Variable, um das Remote-Debuggen zu starten. Wenn dieses Element auf 1 gesetzt ist, ist es immer aktiviert. Link zur Anforderungsadresse
xdebug.remote_cookie_expire_time
Ganzzahl. Standard 3600, Ablaufzeit des Remote-Debugging-Cookies
xdebug.remote_enable
Boolescher Wert, Standard 0, ob Remote-Debugging aktiviert werden soll
xdebug.remote_host
String, Standard: localhost, Remote-Debugging-Client-Adresse
xdebug.remote_log
String, standardmäßig leer, Name der Remote-Debugging-Protokolldatei
xdebug.remote_mode
String, Remote-Debugging-Standard, Req-Skript wird verknüpft, sobald es startet, JIT wird verknüpft, wenn ein Fehler auftritt tritt auf
xdebug.remote_port
Remote-Debugging-Host-Port, Standard 9000
xdebug.remote_timeout
Ganzzahl, Standard 200, Einheit Millisekunde, Zeit zum Warten auf Debugging-Link
xdebug.default_enable
Boolescher Wert Wert, 1 oder 0, Fehleraufforderungen im xdebug-Modus aktivieren, standardmäßig aktiviert
xdebug.max_nesting_level
Ganzzahl, Standard ist: 256, unendlicher Rekursionsschutzmechanismus, wenn der rekursive Aufruf diese Einstellung erreicht, wird das Programm unterbrochen
xdebug .max_stack_frames
Ganzzahl, Standardwert -1, legt fest, wie viele Frames im Stapel angezeigt werden, wenn eine Fehlermeldung angezeigt wird
xdebug.scream
Boolescher Wert, Standardwert ist 0, ob „@“ deaktiviert werden soll damit Fehler behoben werden können. Erzwungene Anzeige von


Funktionen, die nach dem Einschalten der xdebug-Erweiterung verfügbar sind:
Wenn die Erweiterung geladen ist, können die folgenden Funktionen im PHP-Skript verwendet werden:
(Nur einige sind hier aufgelistet, siehe https für alle ://xdebug.org/docs/all_functions)
string xdebug_call_class([int $ Depth = 1])
Show call class
string xdebug_call_file([int $Tiefe = 1])
Aufrufdatei anzeigen
String xdebug_call_function([int $Tiefe = 1])
gibt die aufrufende Funktion zurück
int xdebug_call_line([int $Tiefe = 1])
gibt die aufrufende Zeile zurück
void xdebug_disable()
Stack-Trace deaktivieren
void xdebug_enable()
Stack-Trace aktivieren
bool xdebug_is_enabled()
Überprüfen Sie, ob die Stapelverfolgung aktiviert ist
string xdebug_get_collected_errors( [int clean] )
Alle Fehlermeldungen aus dem Fehlersatzpuffer zurückgeben
array xdebug_get_headers()
Header zurückgeben() Alle von der Funktion festgelegten Header-Informationen
nt xdebug_memory_usage()
Gibt die Speichernutzung zurück
nt xdebug_peak_memory_usage()
Gibt die maximale Speichernutzung zurück, die das Skript bisher verwendet hat
void xdebug_start_error_collection()
Fehler sammeln und Anzeige unterdrücken
void xdebug_stop_error_collection()
Fehleraufzeichnung stoppen und aus dem Puffer sammeln
float xdebug_time_index()
Die Ausführungszeit des aktuellen Punkts in Sekunden zurückgeben
Verwandte Empfehlungen :

Eine kurze Einführung in die Methode zur Installation der Xdebug-Erweiterung des Debugging-Tools in PHP7

Ein Tutorial zur Installation der Xdebug-Erweiterung des Debugging-Tools in PHP7 (Bild)

Xdebug-Konfiguration fehlgeschlagen

Das obige ist der detaillierte Inhalt vonDetailliertes Tutorial zur Verwendung des PHP-Debugging-Tools Xdebug. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn