άπειρες αναδρομή προκαλεί η στοίβα κλήσης να υπερχειλίσει στις περισσότερες γλώσσες προγραμματισμού . Όταν μια διαδικασία ή συνάρτηση καλεί μία άλλη διαδικασία ή συνάρτηση , η προηγούμενη πληροφορία σχετικά με την κλήση στοίβα διατηρείται και οι πληροφορίες από την νέα λειτουργία διατίθεται στην κορυφή της στοίβας . Όταν μια λειτουργία που καλεί τον εαυτό της αναδρομικά χωρίς ένα σαφές μέσα από την καταγγελία , η εφαρμογή θα διαθέσει περισσότερη μνήμη στη στοίβα συνεχώς μέχρι εκχωρείται περισσότερη μνήμη από τα διαθέσιμα στη στοίβα , με αποτέλεσμα την υπερχείλιση στοίβας .
Εικόνων Πολύ Μεγάλες μεταβλητές Stack
Η
μεταβλητές που δηλώνονται στη στοίβα περιλαμβάνει μεταβλητές εισόδου σε μία διαδικασία , η τιμή επιστροφής για τη διαδικασία και τυχόν μεταβλητές μελών που χρησιμοποιούνται για τους υπολογισμούς . Αυτό μπορεί να οδηγήσει σε υπερχείλιση εάν το συνολικό μέγεθος της διαδικασίας πρόσκλησης και των μεταβλητών του είναι μεγαλύτερη από τη διαθέσιμη μνήμη στοίβας .
Η Stack Pointer Απώλεια
Η
Stack η απώλεια δείκτης εμφανίζεται όταν μνήμης στη στοίβα καταστραφεί . Αυτό μπορεί να συμβεί με την προσπάθεια λειτουργίες ή την πρόσβαση σε δεδομένα σε μνήμη που προηγουμένως είχαν εκκαθαριστεί, για παράδειγμα. Αν συμβεί αυτό , μια μοναδική μορφή της αναδρομής συμβαίνει, με αποτέλεσμα την εφαρμογή προσπαθεί να ανακαλύψει τη βάση πληροφοριών ενός συγκεκριμένου κομματιού των δεδομένων . Επειδή οι πληροφορίες που τεχνικά δεν υπάρχει , η συμπεριφορά της αίτησης γίνεται απροσδιόριστο , και μια ατελείωτη ροή των κλήσεων λειτουργίας καταστεί δυνατό. Ο περιορισμός αυτός εμφανίζεται κυρίως σε χαμηλά επίπεδα , object-oriented γλώσσες , όπως η C + + .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα