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

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

Εργαλεία για να βρεί μια διαρροή μνήμης

Όταν ένα πρόγραμμα ηλεκτρονικού υπολογιστή χρειάζεται για την αποθήκευση πληροφοριών , πρέπει πρώτα να εκχωρήσει μνήμη . Αφού δεν χρειάζεται πλέον ότι τα δεδομένα , το πρόγραμμα αποδεσμεύει τη μνήμη , έτσι ώστε ένα άλλο πρόγραμμα μπορεί να κάνει χρήση του . Εάν ένα πρόγραμμα διαθέτει μνήμη , χωρίς αποδεσμεύοντας τη μνήμη στη συνέχεια , ότι το πρόγραμμα θα γίνει την εξάντληση των πόρων του συστήματος . Αυτά τα σφάλματα που ονομάζεται « διαρροές μνήμης » και να απαλλαγούμε από αυτά είναι ένα σημαντικό μέρος του debugging . Διαδικασία
Η

Ανεξάρτητα από το ποια γλώσσα το πρόγραμμα είναι γραμμένο σε , η βασική διαδικασία για την εύρεση διαρροών μνήμης είναι το ίδιο . Πρώτον, η διαρροή μνήμης πρέπει να ανιχνευθεί. Μια διαρροή μνήμης υποδεικνύεται συνήθως από γραμμικά αυξανόμενη χρήση της μνήμης , αν και ορισμένα εξειδικευμένα εργαλεία μπορούν να σας πω άμεσα πόση μνήμη ένα πρόγραμμα έχει κατανεμηθεί ή deallocated . Μόλις εντοπιστεί μια διαρροή μνήμης που πρέπει να απομονωθεί . Αυτό γίνεται με δοκιμή κάθε λειτουργία ή αντικείμενο ξεχωριστά για να προσδιοριστεί εάν η διαρροή συμβαίνει. Στη συνέχεια, ο προγραμματιστής πρέπει να καταλάβω το συγκεκριμένο σφάλμα που προκαλεί η διαρροή και να το διορθώσει .
Εικόνων C /C + +
Η

Προγράμματα γραμμένα σε C και C + + είναι γνωστά για τη μνήμη διαρροές επειδή ο χρήστης πρέπει να διαθέσει το χέρι και να δεσμεύσει μνήμη χρησιμοποιώντας την εντολή malloc . Το εργαλείο ccmalloc παρακολουθεί τη λειτουργία malloc και τις εκθέσεις ποια μνήμη δεν deallocated , ήταν deallocated πολλές φορές ή ακόμη διατεθεί χωρίς να έχουν deallocated στην πρώτη θέση . Υπάρχουν επίσης και άλλα πιο εξειδικευμένα προγράμματα όπως NJAMD ( "Not Just Another Malloc Debugger " ) για την εύρεση διαρροών μνήμης σε C και C + + .

Η MSDN
Η

Developers χρησιμοποιώντας το περιβάλλον ανάπτυξης της Microsoft μπορούν να χρησιμοποιήσουν την εντολή ml για να βρείτε διαρροές μνήμης . Πληκτρολογώντας ml στη γραμμή Cesh θα εμφανιστεί μια λίστα με κάθε εφαρμογή που εκτελείται και το μέγεθος της μνήμης που χρησιμοποιείται , γραμμένο ως "r /w = " ακολουθούμενο από τον αριθμό των σελίδων που έχει διαθέσει εφαρμογής . Απροσδόκητη αύξηση της χρήσης της μνήμης υποδεικνύουν ότι η εφαρμογή έχει μια διαρροή μνήμης .
Εικόνων Java
Η

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

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

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