Xdebug Stacktrace verbessern

Datum: 3. August 2017
Autor*in: Florian Müller


Ich habe mich heute im Zuge eines kleinen Problems mit einem Stacktrace etwas mit der xDebug Konfiguration beschäftigt. Dabei bin ich auf eine kleine nützliche Option gestoßen, welche ich euch nicht vorenthalten möchte.

Die Optionen

xdebug.collect_params

Es gibt die Option xdebug.collect_params, welche verschiedene Level an Output ermöglicht. Ich habe mich in meiner VM für den Wert 2 entschieden, da mir dieser am sinnvollsten erschien. Hierbei werden die Variablen Typen direkt angezeigt und via Mouseover wird der Inhalt der Variable angezeigt. Kann sehr nützlich sein, wie ich finde. Die weiteren Level empfand ich als zu unübersichtlich, da dann die Variablen direkt ausgegeben werden, aber da kann man natürlich auch selbst schauen, wie es einem liegt.

Quelle: https://xdebug.org/docs/all_settings#collect_params
Value Argument Information Shown
0 None.
1 Type and number of elements (f.e. string(6), array(8)).
2 Type and number of elements, with a tool tip for the full information 1.
3 Full variable contents (with the limits respected as set by xdebug.var_display_max_children, xdebug.var_display_max_data and xdebug.var_display_max_depth.
4 Full variable contents and variable name.
5 PHP serialized variable contents, without the name. (New in Xdebug 2.3)

xdebug.show_local_vars

Eine Alternative oder auch zusätzliche Option zu der Ersten stellt xdebug.show_local_vars da. Hierbei werden die lokalen Variablen unter dem Stacktrace angezeigt. Dabei haben die Variablen den Inhalt, den sie beim Zeitpunkt der auslösenden Aktion hatten. Dies kann sehr angenehm sein, jedoch muss man hierbei aufpassen, da dies den Stacktrace sehr aufblähen kann. Ausprobieren kann jedoch nicht schaden. Hierbei gibt es nur die typischen Boolean Werte 1 für aktiviert und 0 für deaktiviert.

Konfiguration der Option

Um die Option zu konfigurieren, müssen die PHP Settings angepasst werden. Hier macht es meines Erachtens Sinn, dass man für die Apache Konfiguration 2 und für die CLI Konfiguration 1 wählt, da es auf der CLI keinen Tooltip gibt.

Unter beispielsweise /etc/php5/apache2/conf.d/25-xdebug.ini  befindet sich die Konfiguration von xDebug. Der Pfad kann natürlich bei der jeweiligen VM / dem jeweiligen Betriebssystem abweichen. Falls noch nicht vorhanden oder aktiv, fügt man die Option ein bzw entfernt das Semikolon für die Auskommentierung.

Fazit

Ich habe aktuell beide Optionen aktiviert und werde in der nächsten Zeit schauen, ob ich beides aktiviert lasse oder mich schlussendlich für eins entscheide.

Eine Vorschau der Optionen findet ihr hier.


Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


Kleiner Postfix- Guide

Autor*in: Sascha Nützel


Technologie // Über den Tellerrand


Nachdem die letzten Tage „kleinere“ Postfix Probleme aufgetreten sind, hier mal ein kleiner Guide wie man sich den Mail- Queue anschauen und bereinigen kann. Mail- Queue anschauen mailq | less Um die Anzahl der Mail’s in der Queue anzuzeigen, je nach Menge kann dies ein paar Minuten dauern: mailq | egrep ‚^–‚ Um den Queue von …


Beitrag lesen
14
FEB
17

Prompt to Image KIs im infomax Kreativ Workflow

Autor*in: Axel Güldner


infomax   //   Technologie   //   Über den Tellerrand   //   User Experience & Design


Können Computer träumen? Noch im Sommer 2022 während eines Vortrags im Rahmen der imx.Conference antworte ich auf die von mir selbst gestellte Frage mit einem entschiedenen NEIN! Kreative Leistung ist das unangefochtene Hoheitsgebiet von uns Menschen, war ich damals überzeugt. Und jetzt?


Beitrag lesen
03
MAI
23

Fancybox: JS-Fehler mit jQuery 1.9+

Autor*in: Stefan Oswald


Technologie


Die letzte freie Version von Fancybox (1.3.4) beinhaltet eine Inkompatibilität mit jQuery ab Version 1.9, da dort die Unterstützung für jQuery.browser eingestellt worden ist. Darauf will das Fancybox-Script aber zugreifen. Das hat zur Folge, dass es auf der Konsole des verwendeten Browsers zu einer Fehlermeldung kommt und dass ggf. sonstiger JavaScript Code auf der Seite …


Beitrag lesen
25
MRZ
14

Sofort und per Klick: Die neue Tourism Tech Alliance (TTA) vereinfacht den Datenaustausch für Destinationen

Autor*in: Christine Pfleger


infomax   //   Strategie & Konzeption   //   Technologie   //   Tourismus   //   Über den Tellerrand


Die Partner der Tourism Technology Alliance (TTA)
Die Partner der Tourism Technology Alliance (TTA)

Touristische Informationen einfach und plattform-übergreifend dort verfügbar machen, wo sie gebraucht werden: Dieses Ziel steht hinter dem Zusammenschluss der führenden Innovatoren im Bereich Travel Technology zur Tourism Tech Alliance (TTA). Ab sofort ist zwischen den Systemen der Partner ein Konnektor verfügbar, der einen einfachen und bedarfsgerechten Standard-Datenaustausch ermöglicht.


Beitrag lesen
21
OKT
22