Debug

Neben den üblichen Methoden ( Mage::Log($message); und dem Schreiben in individuelle LogFiles Mage::Log($message, null ‘LogFile’); ) ist es manchmal sehr hilfreich den Call-Stack zu sehen.

Dazu erstellen Sie zuerst eine individuelle Helper Funktion:

class Digitalvertraut_Stack_Helper_Callstack extends Mage_Core_Helper_Abstract
{
    private function get_callstack($delim="\n") {
      $dt = debug_backtrace();
      $cs = '';
      foreach ($dt as $t) {
        $cs .= $t['file'] . ' line ' . $t['line'] . ' calls ' . $t['function'] . "()" . $delim;
      }
 
      return $cs;
    }
 
    public function toLog() {
        Mage::log($this->get_callstack(),null,'callstack.log');
    }
}

Dann können sie aus jeder Funktion heraus folgendes aufrufen:

Mage::helper('stack/callstack')->toLog();

und erhalten zum Beispiel solch ein Output:

2011-05-16T09:57:24+00:00 DEBUG (7): ...app/code/local/DigitalVertraut/Stack/Helper/Callstack.php line 34 calls get_callstack()
...app/app/code/local/DigitalVertraut/Competitions/controllers/CustomerController.php line 27 calls toLog()
...app/app/code/core/Mage/Core/Controller/Varien/Action.php line 376 calls balanceAction()
...app/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php line 248 calls dispatch()
...app/app/code/core/Mage/Core/Controller/Varien/Front.php line 158 calls match()
...app/app/Mage.php line 459 calls dispatch()
...app/index.php line 65 calls run()

Keine Kommentare »

Noch keine Kommentare

RSS-Feed für Kommentare zu diesem Beitrag.

Hinterlasse einen Kommentar

XHTML ( You can use these tags): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .

CAPTCHA-Bild
* Bitte tragen sie den Code in das Feld ein.
Diese Seite Drucken