Was ist die gängige Praxis für das Debuggen?


7

1) lokal oder remote? Ich verstehe, dass die beste Vorgehensweise für das Debuggen darin besteht, eine lokale Version Ihrer Website zu haben, aber manchmal kann es sehr zeitaufwändig sein, eine lokale Version Ihrer aktuellen Website zu erstellen, insbesondere wenn die Website veröffentlicht wurde und Sie nur ein paar Änderungen vornehmen möchten oder beheben Sie einige kleinere Probleme.

2) Aus dem oben genannten Grund debugge ich normalerweise direkt online. Hier ist ein typisches Szenario, auf das ich häufig stoße: Das Front-End meldet einen Fehler in Bezug auf eine PHP-Datei. Ich öffne die Datei und schaue auf die betreffende Zeile. Es handelt sich um eine Methode einer Klasse. Dann ichvar_dumpverwandte Variablen, um zu sehen, was falsch ist, mehr als oft hilft es nicht, dann gehe ich weiter in die Funktion ein, nur um herauszufinden, dass die fraglichen Variablen mit einem der Parameter der Funktion zusammenhängen. Um zu wissen, was genau der Parameter ist, muss ich herausfinden, wo diese Funktion aufgerufen wird. Hier steckte ich normalerweise fest, ich muss die Erweiterung oder sogar die gesamte Website auf lokal herunterladen und eine In-Text-Suche nach der Funktion in allen PHP-Dateien durchführen. Oft gibt es Dutzende von Aufrufen, ich muss sie einzeln ausprobieren, um zu sehen, welche das Problem verursachen. Mehr als oft führt dies zu einer anderen Funktion, bei der ich den obigen Vorgang erneut wiederholen muss. Diese Prozedur ist sehr zeitaufwändig und ich war oft frustriert und verwirrt. Ist es das, was jeder durchmacht?

Ich frage mich also, wie ein anspruchsvoller Joomla-Entwickler seine Website debuggen würde. Was ist die gängige Praxis dafür? Ich habe Joomla-Dokumentationen zum Debuggen gelesen und arbeite immer noch daran, eine Eclipse / Xdebug-Umgebung zu konfigurieren, aber ich denke, die obigen Fragen bleiben weiterhin bestehen.


Ich denke, xdebug oder ein ähnlicher PHP-Debugger ist wichtig, wenn Sie regelmäßig codieren / debuggen möchten.
TryHarder

Antworten:


5

Ich bin weit davon entfernt, ein hoch entwickelter Entwickler zu sein, und ich debugge auch auf Online-Sites.

Ich benutze dieses marmorierte Werkzeug

http://extensions.joomla.org/extension/j-dump

Es hat viele Vorteile gegenüber einem einzelnen var_dump. Hoffe es funktioniert auch bei dir.


Vielen Dank! Gehen Sie auch das von mir erwähnte Verfahren durch? (Suchen Sie nach Funktionsaufrufen, von denen einer zum anderen führt, und stoßen Sie schließlich auf einige Joomla-Kernklassen wie JLegacy oder JObject. Suchen Sie sie dann auf der Joomla-Dokumentationsseite. Nur um herauszufinden, dass eine der Seiten als "unvollständig" markiert ist. )
Shenkenwen

Die Beschreibung der Erweiterung sieht übrigens sehr vielversprechend aus, nochmals vielen Dank!
Shenkenwen

jdump, use as dump ($ object) zeigt Ihnen die Werte der Variablen $ object an, Sie können aber auch dumpTrace () verwenden. das gibt Ihnen die Anrufe erledigt.
Piero Marsilio

5

Nun, meine persönliche Präferenz ist ... es hängt davon ab, was genau debuggt werden muss.

Wenn es sich um ein einfaches Element handelt, das aufgrund eines merkwürdigen CSS nicht richtig angezeigt wird, starte ich einfach die Live-Site, öffne Firebug und sortiere sie aus.

Wenn es sich um ein PHP- oder JS-Problem handelt, nehme ich normalerweise eine Kopie der Site und führe sie auf meinem lokalen Host aus. Dies ist immer der beste Ansatz, da Sie möglicherweise mit dem Testen des Codes für var-Dumping-Variablen beginnen möchten. Die Leute sollten dies nicht auf einer Live-Site sehen.

Außerdem kann es beim Debuggen häufig sinnvoll sein, exit;zu bestätigen, dass Code in bedingten Anweisungen funktioniert oder nicht. Wenn Sie dies verwenden (wie Sie wahrscheinlich bereits wissen), wird eine leere Site-Seite erstellt. Ein weiterer Grund, nicht auf einer Live-Site zu debuggen.

Wenn Sie auf einen Punkt stoßen, an dem das Einrichten der Site auf Ihrem lokalen Host zu lange dauert, würde ich empfehlen, die Site vorübergehend in den Offline-Modus zu versetzen, bis sie behoben ist.

Ein Tipp für die Zukunft bei der Entwicklung einer Site ist, sie auf Ihrem lokalen Host aufzubauen und Joomlas Bericht in der globalen Konfiguration in Entwicklung zu ändern, damit alle Fehler angezeigt werden und behoben werden können, bevor Sie live schalten


Das Einrichten eines lokalen Debuggers ist heutzutage mit xdebug und den meisten Entwicklungseditoren sehr einfach. Sie erhöhen Ihre Entwicklungsgeschwindigkeit dramatisch und können auch selbst Code-Komplettlösungen durchführen
jdog
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.