NetBeans-Xdebug funktioniert, stellt jedoch einige PHP-Variablen nicht zur Verfügung

8

UPDATE - Wir arbeiten daran, WAMP mit phpDeveloper/Xdebug in Gang zu bringen. Ich möchte immer noch NetBeans - ich möchte nur vergleichen, sehen, ob ich ein paar Einblicke bekomme.

Ich verwende NetBeans 6.9 mit LAMP und Xdebug , um mit PHP-Code zu arbeiten. Die Anzeige der Variablen funktioniert gut, aber in letzter Zeit funktioniert es weniger gut. Zum Beispiel sollte $authorized im Variablenbereich unterhalb des Codes sichtbar sein und seinen Wert offen legen. Aber es zeigt nicht, noch seinen Wert, und das Bewegen über den Code hilft nicht. (Das $this -Objekt wird angezeigt und es geht weiter und weiter, aber $authorized ist nicht drin und es wäre auch nicht sinnvoll.)

Dieses Verhalten ist konsistent. Vielleicht ist es eine Funktion der Komplexität des Codes? Oder grassierende Objektnutzung? Es scheint damit angefangen zu haben, als ich CodeIgniter aufnahm.

Natürlich sind die Variablen versteckt, wenn ich sie am meisten brauche ... so scheint es dem armen Menschen. Was vermisse ich?

NetBeans-Debugger http://themanthursday.com/wiki/Debugger_Display.png

Es gibt ein besseres Beispiel unten. Wenn ich durch diesen Code gehe, zeigt die Variable nur Superglobals und $ this an, genau wie im Bild. Ich kann keine Werte sehen, nicht einmal einfache Saiten.

(Nagging dachte: Ich wette, das $ CI SuperObject hat etwas mit all dem zu tun ...)

%Vor%     
Smandoli 13.08.2010, 02:17
quelle

6 Antworten

8

Klicken Sie mit der rechten Maustaste auf den Variablenbereich. Wählen Sie "Filter". Sie werden das Geheimnis finden.

    
Kamal Wickramanayake 08.06.2011, 18:26
quelle
6

Kam über diese Seite, die eine sehr schöne Verbindung zu einer Xdebug-Seite hat, die einen Schritt durch den Prozess des Aktualisierens von Xdebug durch Kompilieren einer "aktuelleren" Version führt:

Ссылка

Variablen innerhalb von Objekten / Klassen werden wieder angezeigt! Ja!

Keine Überwachung, nein, das kann Xdebug zum Ausflippen bringen - nur gute alte Variablen, die jetzt den Fehler meiner Lösung vollständig aufdecken ... (haha).

David

    
davidm777 18.09.2010 19:15
quelle
2

Ich habe sowas schon mal in Netbeans gesehen. Ich vermute, dass es nur ein Fehler ist, der Netbeans Interaktion mit XDebug betrifft. Eine mögliche Problemumgehung, die ich zuvor gesehen habe, ist das Hinzufügen einer "Überwachung" für die Variable, die Sie nicht sehen können. Für Ihr Beispiel könnten Sie zum Tab "Watches" gehen und $authorized eingeben. Es sollte angezeigt werden, sobald es festgelegt wurde.

    
Steven Oxley 18.08.2010 14:16
quelle
0

Ich denke, es kommt auf das Singleton-Muster an, das in CodeIgniter als "Super-Objekt" implementiert ist. Ich habe dieses Projekt nie neu gestartet, um Kamals Idee zu testen. Kurz nachdem er gepostet hatte, schloss ich, dass der Singleton der Grund war (ich habe nicht versucht zu erraten, ob Kamal die Lösung hat oder nicht). Daher meine Antwort zu diesem Beitrag .

    
Smandoli 23.05.2012 22:53
quelle
0

(2015) Setzen Sie in php.ini unter [xdebug] xdebug.show_local_vars = 1, wenn Sie alle lokalen Variablen im Debug-Modus haben wollen.

    
Cymbals 16.09.2015 19:29
quelle
-1

Versuchen Sie, $ autorisiert zu initialisieren, um false zu boolen.

Ich habe gesehen, dass Netbeans mir Variablen nicht zeigt, die mit einem Rückgabewert von einer Funktion ohne Doctype initialisiert wurden, aber es reicht, um ein Muster nicht zu erzeugen.

    
Fanis 13.08.2010 10:03
quelle

Tags und Links