Wenn es ein Problem in Deinem Skript gibt, wird PHP sich schon (mit einer Fehlermeldung) melden. Oder meinst Du etwas anderes?
hallo zusammen,
gibt es bei PHP evtl. auch eine art debug modus?
ich kenne das von C, Fortran oder anderen Programmiersprachen.
Waere hilfreich um ein script besser verstehen zu koennen?
sollte es sowas geben (lauter echo befehle einbauen geht zwar auch, ist aber etwas umstaendlich), so bitte kurze info.
danke im voraus
MIMAMO
Wenn es ein Problem in Deinem Skript gibt, wird PHP sich schon (mit einer Fehlermeldung) melden. Oder meinst Du etwas anderes?
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
Ich nehme an, Du möchtest den Verlauf eines Scripts verfolgen um es (besser) kennen zu lernen.Zitat von mimamo
Echo einzubauen ist gut, denn dadurch dass du die kritischen Punkte suchst, musst Du schon mal überlegen und lernst dabei das Script kennen. Ich mach das immer so.
<edit>
noch ein Tipp zum Ein-/Ausschalten des 'Debuggings'
</edit>PHP-Code:<?php
$dbg=1; // 1 = 'Debug' on - 0 = 'Debug' off
# ...
$irgendwas = 'halt irgendwas';
$wasanderes = 'halt was anderes';
$sonstwas = 'sonstwas';
# ...
if ($dbg) echo $irgendwas."<br>\n";
# ...
if ($dbg) echo $sonstwas."<br>\n";
# ...
if ($dbg) echo $wasanderes."<br>\n";
?>
Geändert von 321 (07.02.2005 um 11:26 Uhr)
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
Naja, wenn du die richtige IDE ( Integrated Development Environment ) benutzt, z.b. Zend Studio, geht das natürlich wesentlich eleganter - dort ist nämlich eine "ordentliche" Debuggingumgebung integriert.
Die Frage ist nur, ob sowas bei einer Skriptsprache überhaupt von nöten ist. Der Skriptablauf ist eh stehts linear...
Zwei Dinge sind Unbestreitbar:Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
hallo dennis,
danke fuer den tipp mit zend studio.
habe mir eine 21 tage demo besorgt. sieht gut aus und gefaellt mir gut.
mit einem debug modus ist es einfacher ein script mit schleifen, funktionsaufrufen, ... zu versehen.
MIMAMO
Zitat von mimamo
![]()
Naja, du kannst halt direkt in deiner Debug Umgebung sehen, wo du gerade bist, welche Werte die Parameter im Moment haben, in welcher Funktion du steckst, (Als Stack View interessant), wie oft die Schelife noch durchlaufen wird, welche Werte die Parameter haben, mit der du die nächste Funktion aufrufst; kannst das Skript rückwerts laufen lassen, zu jeder x-beliebigen Stelle im Code (während der Ausführung) jumpen, während der Ausführung Code ändern und die stelle nochmal durchlaufen lassen...
Also nachteilig ist das bestimmt nicht
Wird natürlich erst dann interessant, wenn der Code ein bisschen komplexer ist/ bzw. in einer ordentlichen Programmiersprache. Aber - da es sowas gibt - warum soll man es nicht für PHP benutzen?
Geändert von Dennis The Menace (08.02.2005 um 19:50 Uhr)
Zwei Dinge sind Unbestreitbar:Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
das nennt man doch auch try and error
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
Nope, Try and Error versuchen Anwender, die kein Handbuch lesen wollen...
Wie schon erwähnt, es ist fragwürdig, ob man eine Debugging Umgebung in PHP brauchst, wenn du aber z.b. mal in einer ordentlichen Programmiersprache mit mehreren Mann (beruflich/privat) an einem richtigen Programm schreibst, was mehrere hunderttausend Zeilen Code hast, wirst du eine Debuggingumgebung schätzen lernen.
Ab einer gewissen Länge von Code ist es schon schwer, im Programmablauf sich in eigenem Code zurechtzufinden. Bei Code, den du nicht selbst geschrieben hast, hast du ohne Debugging Umgebung keine Chance mehr.
Versuch mal bei 50.000 Zeilen einen Fehler zu finden, wenn keine Exception geworfen wird und dass Programm einfach schlichtweg knallt! Du kannst dich ja nicht hinter jeder Bedingung stellen, dort alle Variablen ausgeben und das Programm neu starten, bis du die Stelle gefunden hast, wo was nicht stimmt. Da sitzt du Tage dran!
Geändert von Dennis The Menace (08.02.2005 um 22:00 Uhr)
Zwei Dinge sind Unbestreitbar:Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
In so einer Umgebung weiss/wusste ich Debug-Modi auch zu schätzen.
Aber Testen/Fehlerfinden und Sourceprogramme ändern sollten nicht verschmolzen werden,
zumal oft auch Aenderungen/Anpassungen in mehreren Programmen von evt. mehreren Programmierern nötig sind.
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
kannst du mir das mal näher erläutern? abgesehen davon, dass man keine ereignisse von außen alá window.events oder so abfangen muss, ist php meiner meinung nach ähnlich unlinear wie jede andere sprache auch. und dass man nem script in der regel einfach so folgen kann, halte ich auch für nen ammenmärchen.Zitat von Dennis The Menace
zend studio ist praktisch und teuer.
Programme haben aber Threads, Unterthreads usw. Da sieht man den Fehler manchmal nicht im Code, aber im Debugger.
Für mich ist eine Programmiersprache linear, wenn es keine Series of Unfortunate Events geben kann.kannst du mir das mal näher erläutern? abgesehen davon, dass man keine ereignisse von außen alá window.events oder so abfangen muss, ist php meiner meinung nach ähnlich unlinear wie jede andere sprache auch. und dass man nem script in der regel einfach so folgen kann, halte ich auch für nen ammenmärchen.
Wenn also an jeder Stelle im Code klar ist, was als nächstes passieren muss. Es kann also nicht vorkommen, dass urplötzlich eine andere Funktion aufgerufen wird (z.b. von einem Event). Du wirst also immer wissen, was als nächstes geschieht, da der ablauf strikt linear ist.
Des weiteren ist sie dadurch linear, dass nur eine Stelle im Code ausgeführt werden kann - Threads sind also nicht möglich.
Von daher ist der Ablauf stets linear
Eine Skriptsprache halt^^
Zwei Dinge sind Unbestreitbar:Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)