![]() |
#1 |
sieht vor lauter Ads
den Content nicht mehr |
![]() Wenn irgendwo ein Fehler ist und man ihn nicht findet, muss man sich an die - manchmal sehr mühsame, langweilige und sogar zeitaufwändige - Arbeit des Debuggings machen. Die nachfolgende Beispiele beziehen sich hauptsächlich auf PHP, können aber auf alle Programmiersprachen übertragen werden. Ein paar Kniffe können euch vielleicht hilfreich sein. Übersicht ![]() ![]() Weiteres folgt irgendwann mal ![]() NEU
![]() ![]() ![]() – It's just a glitch in the Matrix – OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team |
![]() |
![]() |
![]() |
#2 | |||||||||
sieht vor lauter Ads
den Content nicht mehr |
![]()
Ablaufsteuerung: Code wird einfach nicht ausgeführt
Ein Code wird einfach nicht ausgeführt. Um das zu prüfen, hilft es vor und hinter jeden Block einfach etwas auszugeben. Ich verwende immer Zahlen, um so ablesen zu können, wo das Programm/Script langläuft. PHP-Code:
![]() Der Fehler is hier zwar offensichtlich, aber als Beispiel -denke ich- gut geeignet. Jetzt wird der Code mit jeder Menge echos präpariert. Am besten packt man vor und hinter jeden Block (also immer auf die geschweiften Klammern gucken) eine Ausgabe: PHP-Code:
![]() Mit dem korrigierten Code erhält man die korrekte Ausgabe "12367": PHP-Code:
NEU
![]() ![]() ![]() – It's just a glitch in the Matrix – OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team |
|||||||||
![]() ![]() |
![]() |
![]() |
#3 | |||||||||
sieht vor lauter Ads
den Content nicht mehr |
![]()
Variablen: Falsche Werte
Falsche Variablen-Werte erkennt man immer daran, dass das Programm nicht das macht, was man will. Als Beispiel ein kleiner PHP-Login: PHP-Code:
![]() Nachdem man den Ablauf kontrolliert hat, stellt man fest, dass das Script einmal den zweiten Block ausführt - nachdem das Formular gePOSTet wurde - und danach immer den unteren Block nimmt, nie den oberen. Hier sollten wir uns die if-Bedingung genauer angucken: PHP-Code:
Der Trick - welch ein Trick ![]() PHP-Code:
NEU
![]() ![]() ![]() – It's just a glitch in the Matrix – OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team |
|||||||||
![]() ![]() |
![]() |
![]() |
#4 |
Benutzer
|
![]()
Die Zend IDE, PHPEd etc. bieten btw. nette eingebaute Debugger, die einem solche var_dump/echo - Spielchen ersparen. Finde ich persönlich wesentlich streßfreier
![]() |
![]() |
![]() |
![]() |
#5 |
www.zocke.es
|
![]()
klar sind "fertige" Debugger vielleicht schneller / streßfreier, aber so lernt man selbst mehr meiner Meinung nach !
|
![]() |
![]() |
![]() |
Anzeige |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
ICQ-Fehler Hilfe | excalmon | Software/Windows | 16 | 22.02.2008 10:42:22 |
[S] Hilfe für MySQL-Fehler für 20.000 | Computerspezi | Lose4Scripts (erledigt) | 3 | 23.01.2007 23:36:37 |
100k für Debugging | Antigo | Lose4Action | 11 | 25.10.2006 23:09:31 |
Fehler!Hilfe benötigt! | Playboynikone | Lose4Scripts (erledigt) | 4 | 01.10.2006 10:56:49 |