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

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

Τρόπος εντοπισμού σφαλμάτων Διαρροές μνήμης στην GDB

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

1 Κάντε κλικ στο κουμπί των Windows " Start" και πληκτρολογήστε " cmd" στο πλαίσιο κειμένου αναζήτησης . Πατήστε το πλήκτρο " Enter " για να ανοίξετε τη γραμμή εντολών . 2

Τύπος "τρέχει αεπ " και πατήστε " Enter". Στην " Πρόγραμμα " εντολών , πληκτρολογήστε το αρχείο C πηγαίο κώδικα θέλετε να αξιολογήσετε . Αφού πληκτρολογήσετε το αρχείο πηγαίου κώδικα σε γραμμή , το πρόγραμμα παρακολουθεί τον πηγαίο κώδικα .
Εικόνων 3

Εκτυπώστε το μεταβλητής στην οθόνη . Τύπος "print /x " και πατήστε "Enter ", όπου "x " είναι η μεταβλητή που θέλετε να παρακολουθήσετε . Αυτή η εντολή " ρολόγια " τη μεταβλητή και εμφανίζει το χάρτη μνήμης για τη μεταβλητή .
Η 4

Επανεξέταση του χάρτη μνήμης της μεταβλητής . Η ποσότητα της μνήμης που χρησιμοποιείται για τη μεταβλητή θα πρέπει να ταιριάζει με τον τύπο δεδομένων της μεταβλητής και το μέγεθος του χώρου που απαιτείται για την αποθήκευση του τύπου δεδομένων . Οι σημαίες χρησιμότητα του ΑΕΠ μεταβλητές που δημιουργούν διαρροές μνήμης .
5

Προβολή του κώδικα για τη μεταβλητή . Αφού βρείτε την διαρροή μνήμης , θα πρέπει να δείτε τον κώδικα και να αλλάξετε την αξία του κώδικα ή να αλλάξετε τη λειτουργία που προκαλεί τη διαρροή . Οι αλλαγές κώδικα που χρειάζεστε για να κάνετε εξαρτώνται από τη λειτουργία και τη μεταβλητή . Για παράδειγμα , ο παρακάτω κώδικας δημιουργεί δυναμική κατανομή μνήμης για το " p" δείκτη, αλλά η στατική ανάθεση της μεταβλητής προκαλεί διαρροή :

άκυρη functionName ( ) { char * p = malloc ( 10 ) ? p [ 10 ] = 7 ? //<--- η χωρίς σφάλματα ( p ) ? }
Η
εικόνων

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

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