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


Boah, Newsticker sind doch so…. 2016

Autor*in:


Technologie // User Experience & Design


Einige von uns haben sich ja schon die Augen gerieben: Der tot geglaubte Newsticker erhält bei vielen Kunden im Portal wieder Einzug. Leider kam es bei diversen Umsetzungen mit fertigen Tickern in letzter Zeit aber zu einigen Problemen. Problem 1: Responsivität Die Liste an fertigen Tickern im Netz ist lange und die Fähigkeiten der Ticker sind …


Beitrag lesen
29
APR
16

Was die Timeline an Facebook Fanpages ändert

Autor*in: Axel Güldner


Technologie


Da es inzwischen bereits ein paar Tage her ist, dass Facebook die Timeline Darstellung für alle Fanpages verpflichtend gemacht hat, ist es an der Zeit, sich etwas mit den einhergehenden Änderungen zu beschäftigen. Die Timeline ist da! Die auffälligste Änderung ist natürlich die Timeline an sich. Die altbekannte Wall musste einer chronologischen Darstellung aller Aktivitäten …


Beitrag lesen
04
MAI
12

KI gestützte Designtools

Autor*in: Carina Kruse


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


Vor einer Weile stieß ich in einem Google Pocket Artikel auf die WebApp AutoDraw. Es erlangte meine Aufmerksamkeit dadurch, dass aus jeder Zeichnung, welche man rudimentär mit der Maus malte, das Programm ein passendes Icon generierte. Also aus den eigenen Scribbles direkt ein passendes Icon abfällt. Soweit genial, oder? Da musste ich mir direkt das …


Beitrag lesen
28
APR
22

JIT Grunt

Autor*in: Florian Müller


Technologie


Dieser Beitrag nimmt Bezug auf meinen vorherigen Beitrag zur Optimierung von Grunt. Wer diesen nicht kennt, wird mit diesem hier nicht viel anfangen können. Wer den Concurrent Task und dazu auch den Time-Grunt einsetzt, mag schon mal bemerkt haben, dass bei jedem Concurrent Task sämtliche Tasks geladen. Auf dem DEV dauert dies auch mal gerne 2 …


Beitrag lesen
08
FEB
17