Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να καθορίσει μια υπέρβαση buffer

Μια υπέρβαση του buffer , ή buffer υπερχείλιση , είναι ένα πρόβλημα στο οποίο ένα πρόγραμμα υπολογιστή γράφει περισσότερα δεδομένα σε ένα buffer από ό, τι έχει διατεθεί για το ρυθμιστικό . Ως αποτέλεσμα, τα δεδομένα εγγράφονται σε ένα παρακείμενο τμήμα της μνήμης , ενδεχομένως αντικαθιστώντας άλλα δεδομένα. Αυτό μπορεί να προκαλέσει το πρόγραμμα για να ενεργήσει με αστάθεια , ενδεχομένως προκαλώντας την κατάρρευση . Μπορεί επίσης να αξιοποιηθεί για να προκαλέσει τη λειτουργία ενός κακόβουλου προγράμματος . Ως εκ τούτου , είναι πάντα προτιμότερο να αποφεύγονται οι υπερχειλίσεις buffer σε ένα πρόγραμμα . Τα πράγματα που θα χρειαστείτε
πηγαίος κώδικας περιέχει την υπερχείλιση
Compiler για τη γλώσσα του πηγαίου κώδικα
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Περιορίστε την αναζήτησή σας . Μπορείτε να το κάνετε αυτό με την εκτύπωση πληροφοριών εντοπισμού σφαλμάτων και την αποφυγή τμήματα του προγράμματος από το τρέξιμο . Υπερχειλίσεις buffer μπορεί να είναι δύσκολο να εντοπιστούν επειδή τα στοιχεία δεν είναι πάντοτε συνεπής . Ωστόσο , εάν τα στοιχεία που έχετε εξαφανίζεται όταν ένα τμήμα του προγράμματος εμποδίζεται από το τρέξιμο , είναι μια καλή ένδειξη για το πρόβλημα είναι με το τμήμα . 2

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

καθορίσει το ελάττωμα . Εάν το πρόβλημα έγραφε παρελθόν όρια ενός πίνακα , βεβαιωθείτε ότι ό, τι το προκάλεσε αυτό λειτουργεί σωστά , ή ότι η σειρά είναι σωστά αλλάξει το μέγεθός τους , όπως απαιτείται. Βεβαιωθείτε ότι όλα τα ρυθμιστικά χορδών είναι αρκετά μεγάλη για να κρατήσει τις χορδές που μπορεί να κατέχει .
Η 4

Πάρτε προληπτικά μέτρα . Χρησιμοποιήστε τις λειτουργίες όρια ελέγχου , έτσι ώστε να διασφαλιστεί ότι η μνήμη δεν είναι ποτέ να αντικατασταθούν. Δυναμική αλλαγή μεγέθους συστοιχίες , όπως απαιτείται. Διατηρήστε προσεκτική παρακολούθηση όλων των πιθανών μνήμης γράφει για να εξασφαλιστεί ότι ποτέ δεν γράφουν σε λάθος περιοχή της μνήμης .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα