Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Debugging - Fehlersuche in PHP
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 



 

Fehlersuche und Fehlerfinden




In diesem letzten Abschnitt soll Ihnen aufgezeigt werden, wie sich die Fehlersuche darstellt. Die Fehlersuche und Beseitigung kann in drei Phasen unterteilt werden:
1. Erkennen, dass ein Fehler vorliegt.
2. Suchen und finden des Fehlers.
3. Beseitigen Sie den Fehler.


Erkennen, dass ein Fehler vorliegt

Der beste Weg, Fehler in Ihrem Projekt und Ihren Skripten zu entdecken, besteht darin freiwillige Testpersonen mit Ihrem Projekt arbeiten zu lassen. Dies wird in der Entwicklung als Testphase bezeichnet. In der Softwareindustrie auch als Betatest bekannt.


Beobachtung von Variablen zur Laufzeit

Sie können hierzu den Befehls echo() verwenden, indem Sie die Inhalte verdächtiger Variablen im Browser ausgaben. Oft sind nicht nur die aktuellen Werte der Variablen von Interesse, sondern auch ander Informationen über die Variablen, zu deren Abfrage in PHP eine Reihe von Funktionen zur Verfügung stehen.


Funktionen Bedeutung
empty() Ist die Variable leer?
gettype() Ermittelt den Datentyp
is_array() Ist Variable ein Array?
is_double() Datentyp double?
is_float() Datentyp float?
is_int() Datentyp integer?
is_object() Datentyp object?
is_real() Datentyp real?
is_string() Datentyp string?
isset() Variable defniert?



Bahandlung von Laufzeitfehlern

Wie Sie bereits erfahren haben stellen vor allem die Laufzeitfehler oftmals ein grösseres Problem dar. Diese Fehler gilt es mit Hilfe von entsprechenden Fehlerbehandlungsroutinen abzufangen. Dies ist jedoch eher eine Frage des sauberen Programmierstils als des Debugging.

Eine einfache Möglichkeit auf Laufzeitfehler zu reagieren, besteht darin, die Skriptausführung kontrolliert abzubrechen. Hierzu stehen in PHP die Sprachkonstrukte exit und die() zur Verfügung.

Während exit die Skriptausführung sofort abbricht, gibt die() vor dem Abbruch noch eine Meldung an den Browser aus.


Beispiel



<?php
$file 
"htdocs/daten.txt";
$fp fopen($file"r") or die("Datei nicht gefunden: $file");
$dat fread($fpfilesize($file));
fclode($fp);
?>




Ausgabe



Warning: fopen(htdocs/daten.txt) [function.fopen]: failed to open stream: No such file or directory in C:\php5xampp-dev\htdocs\php5\debugtest.php on line 3
Datei nicht gefunden: htdocs/daten.txt



Sollte die mit der Variablen $file referenzierte Datei nicht gefunden werden, wird die Skriptausführung beendet und zuvor noch eine entsprechende Meldung ausgegeben. Um die Interpreter eigene Warnung zu unterdrücken steht, wie Sie ja wissen das @-Zeichen zur Verfügung.


Beispiel



<?php
$file 
"htdocs/daten.txt";
$fp = @fopen($file"r") or die("Datei nicht gefunden: $file");
$dat fread($fpfilesize($file));
fclode($fp);
?>




Ausgabe



Datei nicht gefunden: htdocs/daten.txt




Suchen und finden des Fehlers

Wenn Sie festgestellt haben, dass ein Fehler vorliegt, müssen Sie diesen suchen und finden. Einen Fehler zu finden ist häufig der schwierigste Teil. Die einfachste, aber auch zeitaufwendigste Methode einen Fehler zu finden besteht darin, Ihr Projekt auszuführen und Ihre Skripte Zeile für Zeile zu untersuchen. Zu dem Zeitpunkt, an dem der Fehler auftaucht, wissen Sie genau, welche Codezeile diesen verursacht. Diese Methode eignet sich jedoch lediglich bei kleineren Projekten. So vorzugehen, um ein komplexes und grosses Projekt nach Fehlern zu durchsuchen, wäre abwegig.

Die Alternative, die wesentlich schneller zum Ziel führt, wäre folgende: Sie sollten nur in Teilen des Projekts nach dem Fehler suchen, in denen Sie diesen vermuten. Wenn in Ihrem Projekt beispielsweise die Formularüberprüfung, für eines in Ihrem Projekt angelegten Formular nicht richtig durchgeführt wird, steckt der Fehler wahrscheinlich in dem Skript, in dem Sie die Methoden zur Überprüfung definiert haben.

Tipp: Denken Sie daran, bei der Fehlersuche stehen Ihnen in PHP selbst nicht sehr viele Hilfsmittel zur Verfügung, jedoch bietet Ihnen das Maguma Studio ein hervorragendes Hilfmittel, nämlich den integrierten Debugger. Dieser kann Ihnen beim Auffinden der Fehler nur dann behilflich sein, wenn Sie diesen auch einsetzen.


Sobald Sie den Fehlerhaften Teil isoliert haben, müssen Sie herausfinden, was den Fehler verursacht.


Beseitigen Sie den Fehler

Nun da Sie den Fehler gefunden haben, können Sie die Ursache und damit den Fehler beseitigen. Gehen Sie dabei vorsichtig vor! Oft genug kommt es vor, dass die Fehlerkorrektur, unbeabsichtigt, neue Fehler hervorruft. Daher ist es meist einfacher, einen grossen Anweisungsblock neu zu schreiben, als zu versuchen, einen Fehler in diesem zu korrigieren.


 


Debugging
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de