Seite 1 von 1

Code Debuggen für Anfänger

Verfasst: 04.12.2006 22:57
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

Verfasst: 04.12.2006 23:37
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...)

Verfasst: 06.12.2006 19:10
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.

Verfasst: 06.12.2006 23:21
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.

Verfasst: 06.12.2006 23:39
von Kaeru Gaman
@bo³

trotz guten willens hat das in FAQ nix zu suchen.