Προς το περιεχόμενο

Χρησιμοποιειτε debugger παντοτε?


MrSeanKon

Προτεινόμενες αναρτήσεις

Δημοσ.

νομιζω πως το βλεπεις λαθος,

εγχειριδια θα διαβαζεις μια ζωη

ειναι τετοια η φυση του αντικειμενου μας που πρεπει να ακολουθεις συνεχως τις εξελιξεις

απλα, οσο μεγαλωνεις, κατανοεις ευκολοτερα καποια πραγματα λογω εμπειριας (θεωροντας ομως πως δεν χανεις επαφη...)

Δημοσ.
E δεν ηξερα ποσο εισαι απλα το να διαβαζω σε τετοια ηλικια εγχειριδια κι εννοιες που κανουν τα 19χρονα των Παν/μιων με κανει να νοιωθω παππους! :-)

Μην νομίζεις ότι το διάβασα σε εγχειρίδι.

Είχα περάσει από πολλές γλώσσες (logo, gwbasic, turbo pascal, Turbo C, VB, VB.NET, ASP.NET, κτλ), και αυτό που μου έχει λύσει τα χέρια σε όλες τις γλώσσες (όπου υπήρχε) είναι ο debugger.

Είμαι 30 και ακόμα διαβάζω και μαθαίνω. Το έχω πάρει απόφαση ότι μέχρι να πάρω σύνταξη θα διαβάζω (νομοθεσία ως μηχανικός και τεχνολογια υπολογιστών ως προγραμματιστής).

Δημοσ.
Δεν ξέρω τι μου λες εσύ αλλά ναι αν και λίγο σπαστικό το debugger σου δίνει καταπληκτικές δυνατότητες, μπορείς να δεις που χτυπάει κατευθείαν το πρόγραμμα καλώντας το stack, να κάνεις memory dump για να δεις τι γράφεται στην μνήμη, να βρεις λάθη όπως πχ μια φορά είχα κάνει ένα θεικό if(x = 5) και δεν έμπαινε ποτέ στο if και πολλά άλλα. Το debugging είνα αναπόσπαστο εργαλείο του προγραμματιστή, και αν θέλεις να μιλήσουμε για καλούς debuggers ρίξε μια ματιά στον CodeGuard της Borland.

Εγώ συνηθίζω να γράφω τα if πάντα με τέτοιο τρόπο:

>
...
if(10 == maxChar)
...

με αποτέλεσμα αν ξεχάσω ένα '=' να προκληθεί λάθος μεταγλώττισης.

 

Μισο σε αυτο δε σε προειδοποιουσε ο compiler οτι ειναι εσφαλμενη εντολη?

 

Αν χρησιμοποιείς warning level 4 σε προειδοποιεί ο μεταγλωττιστής ;)

http://msdn2.microsoft.com/en-us/library/7hw7c1he.aspx

 

Αν προγραμματίζεις σε C++ και κάνεις χρήση των Exceptions μπορείς να υλοποιήσεις Callstacks για να περιορίσεις στο ελάχιστο το step-by-step debugging.

Δημοσ.

Δεν χρησιμοποιώ μόνο Debugger, αλλά και Bound Checker ώστε να εντοπίζω αυτόματα μια μεγάλη γκάμα από σφάλματα διαχείρισης μνήμης, με το που παρουσιάζονται στον κώδικα -εδώ αξίζει βέβαια να διαβάζει κανείς προσεκτικά και τα Warning του compiler του, διότι ενίοτε περιέχουν hints για πιθανά προβλήματα.

 

Το ευχάριστο είναι πως τα εργαλεία μου (C/C++ Builder 6, Turbo C++ 2006) προσφέρουν πέραν ενός εξαίρετου debugger (πχ. αυτόματα Callstacks σε κάθε περίπτωση C++ Exception ή C Access ή Bound Violation), και το Bound Checker (CodeGuard) ενώ ο Compiler υλοποιεί την δυνατότητα "__finally" (αν το επιθυμείς) σε κάθε SEH επιτρέποντας την συγγραφή πολύ καθαρού & ασφαλούς κώδικα -ειδικά όταν έχουμε deal με πολλά dynamic αντικείμενα.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...