Code Debuggen für Anfänger

Hier kannst du häufig gestellte Fragen/Antworten und Tutorials lesen und schreiben.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Code Debuggen für Anfänger

Beitrag von Konne »

Wie oft passiert das nicht?
Man hat so einen Code und irgendwas tut nicht so wie es eigendlich soll?
Nunja ziemlich oft.

Anstatt erstmal PB die schuld dran zu geben sollte man sich erstmal selber auf die suche machen.


Folgende Schritte mache ich immer.
-Erstmal schauen ob der Debugger irgendetwas sagt alla "Initxx" must be called oda so.
-Dann muss man versuchen den Fehler auf eine kleine Fläche im Code runterzutracken.
Das geht ganz gut durch Debg "Ich lebe noch" oder so an bestimmten Teilsegmenten oder das kommentieren von codesegementen.
Hierbei immer relativ große Teile erstmal ausssließen und dann schauen ob es dann geht.
-Variablen im Umfeld des Fehlers Debuggen
-Nach Logigfehlern etc schauen.

-Wenn man nicht draufkommt den Code so klein wie möglich machen, aber sodass der Fehler immernoch auftacht und hier posten.

!Lange Codes werden zu 99% nicht nach Fehlern durchsucht
!Codes die nicht einfach ausgeführt werden können sind auch unbeliebt.

So hoffe das Hilft.
Wenn jemand konstruktive Kritik hat gerne sagen. Auch ich bin sicher nicht perfekt im Fehler finden.

Verschoben von Code, Tipps & Tricks in die FAQ von NicTheQuick
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Geht auch einfacher:
man schaut sich einfach die Fehlermeldung des Debuggers an! :mrgreen:

Dort steht schon, ob Init() fehlt, eine Divison durch null versucht wird oder "garbage to the end of the line" ("Müll am Ende der zeile" = Syntaxfehler).

Sollte das alles nicht helfen, benutze ich seit PB 4 immer EnableExplicit, damit ich beispielsweise Fehler wie diesen hier ausmerzen kann:

Code: Alles auswählen

rhythmus=5
schifffahrt=6

Debug rythmus+schifffahrt ; Grrr, warum gibt das nicht 11 ??
Sollte ich den Fehler immer noch nicht gefunden haben, gehe ich den zuletzt eingefügt Code nocheinmal durch und schreibe überall Debug davor, bei Macrofehlern wird ja immer ein extra fenster eingeblendet, sodass man den Fehler dort sofort sieht. Ein Blick in die stets parallel zur IDE geöffneten Hilfe kommt bei mir zum Schluss.





Sollte ich dann immernoch nicht den Fehler gefunden haben, dann mache ich eine Wutentbrannte Pause oder lasse irgendwelche wildfremden Leute in meinem Ego-Shooter-Spiel dafür büßen :lol: (oder ich geh euch hier im Forum daimt auf'n Sack...)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Naja das was du beschreibst gehört bei mir zu 1oda 2. Leider gibt es halt (vorallem wenn man Pointer freund ist) immer wieder 'unlogische' fehler die man net so leicht findet.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

EnableExplicit meldet auch nicht explizit definierte *Pointer, es sollte also nichts schiefgehen. Es geht nur was schief, wenn der *Pointer null ist, z. B. bei einem erfolglosem AllocateMemory(). Wenn der Programmierer das nicht überprüft, hat er selber Pech, da hilft auch (eigentlich) kein Debugger. Der sagt dann nur, dass der *Pointer null ist.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@bo³

trotz guten willens hat das in FAQ nix zu suchen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten