Exercise 31: Debugging Code, πως γίνεται αυτό το Debugging βρε παιδιά;

Τεχνολογικά Θέματα, Νέα και Ειδήσεις. Θέματα προς συζήτηση.

Συντονιστές: Super-Moderators, Reporters

Απάντηση
Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27648
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Exercise 31: Debugging Code, πως γίνεται αυτό το Debugging βρε παιδιά;

Δημοσίευση από cordis » 22 Σεπ 2014 17:27

Αρκετές φορές θα σας έχει συμβεί να γράψετε το τέλειο πρόγραμμα και το περιβάλλον που το εκτελείτε να μη δέχεται να το εκτελέσει ακριβώς όπως το έχετε σκεφτεί ή να πετάει αναίτια μηνύματα λάθους. Ξέρω ότι κατά 99.99% φταίει το παλιομηχάνημα και όχι εσείς, αλλά ας πάρουμε εδώ αυτή την πολύ μικρή περίπτωση του 0,01% που έχει πρόβλημα ο κώδικας και πρέπει να το βρούμε και να το διορθώσουμε.

Πως το κάνουμε αυτό; Με την παλιά κλασική μέθοδος του print/echo; με εξονυχιστικό έλεγχο του κώδικα με το μάτι; με debugger;

Τι βασικά θέλουμε να έχει ένας debugger; Σίγουρα να μπορεί να σταματάει τον κώδικα σε όποιο σημείο θέλουμε και να μπορούμε να τον εκτελούμε γραμμή - γραμμή. Ταυτόχρονα θέλουμε να έχουμε εικόνα για το τι γίνετε στην μνήμη, τι αντικείμενα υπάρχουν πάνω; ποιες μεταβλητές και τι περιεχόμενο έχουν;
Το περιεχόμενό τους αυτό είναι το αναμενόμενο; ή κάτι άλλο;

Και αυτή είναι η πιο μεγάλη ερώτηση σε όποιον τρόπο debugging κι αν είμαστε. Στο συγκεκριμένο σημείο που είμαι έχω το αναμενόμενο αποτέλεσμα σε όλα τα επίπεδα; αν όχι γιατί; ας πάω ένα βήμα πίσω να δω τι δεν πήγε σωστά.

Η διαδικασία του debugging είναι επίπονη και διαρκεί τις περισσότερες φορές πιο πολλές ώρες από ότι η συγγραφή του κώδικα. Κι επειδή καλός debugger δεν γεννιέσαι καλό θα είναι να διαβάσεις περί αυτού για να γίνει και η ζωή σου πιο εύκολη.

Εικόνα
http://angriestprogrammer.com/comic/debugging_3


Διάφορες πηγές που θα σε βοηθήσουν να γίνεις καλύτερος στο Debugging

Teaching Novice Programmers How to Debug Their Code
http://blog.codeunion.io/2014/09/03/tea ... ebug-code/

Exercise 31: Debugging Code
http://c.learncodethehardway.org/book/ex31.html

Learning and Improving Your Debugging Skills
http://www.javaworld.com/article/207278 ... kills.html

How do I Debug my Program?
http://www.umich.edu/~eecs381/generalFAQ/Debugging.html

JavaScript Debugger and Profiler
http://getfirebug.com/javascript

About debugging in PHP
http://php.net/manual/en/debugger-about.php

Debugging in Visual Studio
http://msdn.microsoft.com/en-us/library ... 20%29.aspx
Συνημμένα
debugging_3.png
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Exercise 31: Debugging Code, πως γίνεται αυτό το Debugging βρε παιδιά;

Δημοσίευση από giannis17 » 22 Σεπ 2014 21:39

Για αυτό όσο κάποιο project είναι σε development κρατάμε logs από όλες τις λειτουργίες για debugging ή ακόμα εξάγουμε τα δεδομένα μας σε κάποια live κονσόλα ενώ πάντα προσπαθούμε να κάνουμε catch τα errors στα σημεία που μπορεί κάτι να πάει στραβά και να μην τα αφήνουμε στο έλεος του εκάστοτε compiler/debugger.

Όταν τελειώσει το project και έχουμε διορθώσει τα όποια σφάλματα βάζουμε όλες τις παραπανίσιες γραμμές (console.log/log/catch/serial.out κλπ) σε comments γιατί, ως συνήθως, σε κάποια αλλαγή ή αναβάθμιση κάτι θα "σπάσει" και θα χρειαζόμαστε πάλι debugging.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27648
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Exercise 31: Debugging Code, πως γίνεται αυτό το Debugging βρε παιδιά;

Δημοσίευση από cordis » 23 Σεπ 2014 17:20

Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Απάντηση

Επιστροφή στο “Τεχνολογικά Θέματα, Νέα και Ειδήσεις”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες