Fehlersuche Programmablauf
Startseite > Allgemein > Fehlersuche Programmablauf
Erfahren sie mehr, wie sie besser auftretene Fehler eingrenzen und finden können.
Manchmal kommt es vor das ein Programm nicht das gewünschte Ergebnis liefert, bzw. überhaupt keine Ausgabe macht. Meist wird dann auch kein Fehler
angezeigt, was die Suche nach der Ursache oft bei grossen Projekten noch erschwert.
- Bauen Sie dazu Testausgaben (echo 'if Nr. 1';) in den Programmablauf ein und schauen Sie nach wo der Ablauf hängen bleibt.
- Geben Sie bei Kontrollstrukturen (if, switch, etc.) vorher die Werte aus und kontrollieren Sie diese.
- Wenn Sie sehr viele Schleifen, Funktionen und Kontrollstrukturen mit geschweiften Klammern haben, Notieren Sie sich welche wo endet. Ein Beispiel folgt weiter unten dazu.
Beipiele
Code:
angezeigt, was die Suche nach der Ursache oft bei grossen Projekten noch erschwert.
- Bauen Sie dazu Testausgaben (echo 'if Nr. 1';) in den Programmablauf ein und schauen Sie nach wo der Ablauf hängen bleibt.
- Geben Sie bei Kontrollstrukturen (if, switch, etc.) vorher die Werte aus und kontrollieren Sie diese.
- Wenn Sie sehr viele Schleifen, Funktionen und Kontrollstrukturen mit geschweiften Klammern haben, Notieren Sie sich welche wo endet. Ein Beispiel folgt weiter unten dazu.
Beipiele
Code:
- /*Schwer zu lesen*/
- if($wert == 'abc'){
- //mache dieses
- if($abc > 0){
- $rechne = $abc + 5;
- }elseif($abc > 10){
- $rechne = $abc - 5;
- }else{
- $rechne = $abc;
- }
- }elseif($variable == 'def'){
- //mache jenes
- if($p != 'xyz'){
- //irgendeine SQL-Abfrage
- $sql = mysql_query("Der Query");
- echo mysql_error();
- while($row = mysql_fetch_object($sql)){
- if($row->abc == $p){
- echo 'dies';
- }else{
- echo 'das';
- }
- }
- }
- }else{
- //mache sonstiges
- }
- /* mit Einrückungen */
- if($wert == 'abc'){
- //mache dieses
- if($abc > 0){
- $rechne = $abc + 5;
- }elseif($abc > 10){
- $rechne = $abc - 5;
- }else{
- $rechne = $abc;
- }
- }elseif($variable == 'def'){
- //mache jenes
- if($p != 'xyz'){
- //irgendeine SQL-Abfrage
- $sql = mysql_query("Der Query");
- echo mysql_error();
- while($row = mysql_fetch_object($sql)){
- if($row->abc == $p){
- echo 'dies';
- }else{
- echo 'das';
- }
- }
- }
- }else{
- //mache sonstiges
- }
- /* Mit Einrückungen, Klammer-Notizen und Testausgaben */
- echo $wert;
- if($wert == 'abc'){
- echo 'abc';
- //mache dieses
- echo $abc;
- if($abc > 0){
- echo 'if rechne';
- $rechne = $abc + 5;
- }elseif($abc > 10){
- echo 'elseif rechne';
- $rechne = $abc - 5;
- }else{
- echo 'else rechne';
- $rechne = $abc;
- }//Ende else rechne
- }elseif($variable == 'def'){
- echo 'def';
- //mache jenes
- if($p != 'xyz'){
- echo 'if xyz nicht p';
- //irgendeine SQL-Abfrage
- $sql = mysql_query("Der Query");
- echo mysql_error();
- while($row = mysql_fetch_object($sql)){
- if($row->abc == $p){
- echo 'if row';
- echo 'dies';
- }else{
- echo 'else row';
- echo 'das';
- }//Ende else row
- }//Ende while xyz
- }//ende if xyz
- }else{
- //mache sonstiges
- echo 'sonstiges';
- }//ende else
Kommentar schreiben
andere Themen:
19.04.2005
Notice: Constant TABLE_BANNER already defined in24.02.2005 Parse error: parse error, unexpected T_LNUMBER
23.02.2005 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource
21.02.2005 Fatal error: Call to undefined function:
Zurück

Kommentare
06.04.2008: gerard108