Debug-Hilfe

Hallo,

wie debugge ich am besten ein fehlerhaftes Modul welches mich immer zu “/index.php?cl=start&redirected=1” schickt?

Ich finde keine Fehler in EXCEPTION_LOG.txt und mir wird auch sonsts nichts ausgegeben.

Hallo,

um welches Modul handelt es sich denn?

Gruß

Hallo,

bei aktuellen Versionen wird im Verzeichnis log die Datei EXCEPTION_LOG.txt angelegt und ein großteil der Fehlermeldungen dort abgespeichert.

Bei einer Installation eines Moduls oder Änderung kann es ratsam sein die Cookies zu löschen und den TMP-Ordner des Shops zu leeren.

Provozierung von Fehlermeldung:

  1. den Produktivmodus ausschalten
  2. in der Datei config.inc.php die Variable “$this->iDebug” auf 1 oder anderen Wert setzten

wenn bis hierhin noch keine Fehlermeldungen ausgegeben werden:
3) die Dateien views/oxshopcontrol.php bearbeiten:
in der Methode start() befinden sich folgende Codezeilen:

        try {
            $this->_process( $sClass, $sFunction );
        } catch( oxSystemComponentException $oEx ) {
            //possible reason: class does not exist etc. --> just redirect to start page
            oxUtilsView::getInstance()->addErrorToDisplay( $oEx );
            oxUtils::getInstance()->redirect( $myConfig->getShopHomeUrl() .'cl=start' );
        } catch ( oxCookieException $oEx ) {
            // redirect to start page and display the error
            oxUtilsView::getInstance()->addErrorToDisplay( $oEx );
            oxUtils::getInstance()->redirect( $myConfig->getShopHomeUrl() .'cl=start' );
        }

.

Diese folgend erweitern:

        try {
            $this->_process( $sClass, $sFunction );
        }catch (Exception $oEx)
        {
        	dumpvar($oEx);
        }
        catch( oxSystemComponentException $oEx ) {
            //possible reason: class does not exist etc. --> just redirect to start page
            oxUtilsView::getInstance()->addErrorToDisplay( $oEx );
            oxUtils::getInstance()->redirect( $myConfig->getShopHomeUrl() .'cl=start' );
        } catch ( oxCookieException $oEx ) {
            // redirect to start page and display the error
            oxUtilsView::getInstance()->addErrorToDisplay( $oEx );
            oxUtils::getInstance()->redirect( $myConfig->getShopHomeUrl() .'cl=start' );
        }

Damit sollten Fehlermeldungen ausgegeben werden, natürlich auch für den Kunden. Der Prdouktivmodus soll die Fehlermeldungen vor dem Kunden verbergen.

mfg

@marco: Eigenentwicklung, läuft für sich alleine, crashte aber wenn das Aggrosoft Paypal-Modul hinzukam. Momentan passiert das nicht mehr, ich denke aber das ist immernoch was faul…

@marcus: Vielen Dank!!, das werde ich probiere sobald ich den Fehler wieder reproduzieren kann! Das Exception-Log war eben leer, so das ich daraus nicht ableiten konnte was passiert.