Debug backtrace, Auffinden von fehlerhaften Instanziierungen

Wenn man aus einer PHP-Fehlermeldung nicht herauslesen kann, von wo eine Klasse instanziert wird, die nicht existiert (über einen Autoloader z.B. in Magento oder einem anderen CMS/Framework), dann fügt man folgendes Code Snippet in die Autoload-Funktion ein und schaut sich die Log-Datei an. In den meisten Fällen wird man hier dann fündig.

Nachtrag:

Magento erzeugt i.d.R. eine sehr großen und unüberschaubaren Stack. Daher ist es sinnvoll, diesen ein wenig zu kürzen, um nur die wesentlichen Informationen herauszuziehen. Eine Methode für einen Magento-Helper könnte zum Beispiel so aussehen:

Der Aufruf erfolgt dann an der gewünschten Stelle per  Mage::helper('myhelper')->dbgBacktrace()  und erzeugt einen Log-Eintrag in der Standard Logdatei (i.d.R. var/log/system.log).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.