top 20 memory leak detection tools
Λίστα και σύγκριση των κορυφαίων εργαλείων ανίχνευσης και διαχείρισης διαρροών μνήμης για Java, JavaScript, C, C ++, Visual Studio σε συστήματα Linux, Windows και Android:
Αυτό το σεμινάριο θα σας παρουσιάσει μια νέα ιδέα που δεν είναι παρά Διαχείριση διαρροών μνήμης .
Τα προγράμματα του συστήματός μας τείνουν να αντιμετωπίζουν ορισμένα προβλήματα μνήμης ενώ εκτελούνται σε μηχανήματα, τα οποία με τη σειρά τους μπορεί να προκαλέσουν καταστροφή της κατανομής μνήμης.
Η διαρροή μνήμης υποβαθμίζει την απόδοση του συστήματος μειώνοντας την διαθέσιμη μνήμη για κάθε πρόγραμμα στο σύστημά σας. Αυτά τα ζητήματα μνήμης καθορίζονται και επιλύονται γενικά από τους προγραμματιστές που έχουν πρόσβαση στον πηγαίο κώδικα του συστήματος λογισμικού.
πρόγραμμα java για ταξινόμηση ενός πίνακα
Τα σύγχρονα λειτουργικά συστήματα είναι προσαρμόσιμα σε θέματα μνήμης. Μειώνουν αμέσως την κατανάλωση μνήμης και απελευθερώνουν τη μνήμη που καταλαμβάνουν οι εφαρμογές μόλις κλείσει.
Σε αυτό το σεμινάριο, θα αναθεωρήσουμε την πραγματική διαρροή μνήμης και πώς να χειριστούμε τα εργαλεία της.
Τι θα μάθετε:
- Κορυφαία εργαλεία ανίχνευσης και διαχείρισης διαρροών μνήμης
- # 1) GCeasy
- # 2) Eclipse MAT
- # 3) Memcheck από τον Valgrind
- # 4) GlowCode
- # 5) AQTime από το Smartbear
- # 6) WinDbg
- # 7) Έλεγχος ορίων
- # 8) Ντάλεκερ
- # 9) Δρ. Μνήμη
- # 10) Intel Inspector XE
- # 11) Ασφαλίστε ++
- # 12) Ανιχνευτής Διαρροής Visual για Visual C ++ 2008-2015
- # 13) Visual Studio Profiler
- # 14) Mtuner
- # 15) Ανιχνευτής διαρροών Windows
- # 16) Διεύθυνση Sanitizer (A San)
- # 17) GCViewer
- # 18) Plumbr
- # 19). Επικυρωτής μνήμης NET
- # 20) Επικυρωτής μνήμης C ++
- # 21) Dynatrace
- Πρόσθετα εργαλεία διαρροής μνήμης
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τι είναι το Memory Leak;
# 1) Όταν ένα πρόγραμμα υπολογιστή χρησιμοποιεί άσκοπα τη μνήμη και την εκχωρεί ακατάλληλα, τότε τελικά προκαλεί διαρροή μνήμης στο σύστημα.
#δύο) Μερικές φορές το σύστημα δεν απελευθερώνει ανεπιθύμητη κατανομή μνήμης, καθώς δεν απελευθερώνει τη μνήμη ακόμη και μετά το κλείσιμο της εφαρμογής ή του προγράμματος.
# 3) Όταν ένα πρόγραμμα καταναλώνει περισσότερα από την πραγματική μνήμη που απαιτείται, με αποτέλεσμα, θα παρουσιαστούν προβλήματα μνήμης και επιβράδυνση της απόδοσης του συστήματος.
# 4) Όσον αφορά τον αντικειμενοστραφή προγραμματισμό, εάν ένα αντικείμενο είναι αποθηκευμένο στη μνήμη αλλά δεν είναι προσβάσιμο από τον κωδικό προγράμματος (Ορίστηκε ένα αντικείμενο και εκχωρήθηκε η μνήμη, αλλά εξακολουθούμε να έχουμε ένα σφάλμα που δηλώνει ότι το αντικείμενο δεν έχει οριστεί).
# 5) Υπάρχουν ορισμένες γλώσσες προγραμματισμού, όπως C και C ++ που δεν υποστηρίζουν έμμεσα την αυτόματη συλλογή απορριμμάτων και μπορούν να δημιουργήσουν τέτοια προβλήματα διαρροής μνήμης ενώ εργάζονται σε αυτό (η Java χρησιμοποιεί τη διαδικασία συλλογής απορριμμάτων για την αντιμετώπιση της διαρροής μνήμης).
# 6) Η διαρροή μνήμης μειώνει την απόδοση του συστήματος μειώνοντας την ποσότητα της διαθέσιμης μνήμης, αυξάνοντας την ποσότητα του αλουμινίου και τελικά προκαλώντας αστοχία ή επιβράδυνση του συστήματος.
# 7) Το Memory Leak Management είναι ο μηχανισμός που λειτουργεί στο λειτουργικό σύστημα για να κατανείμει δυναμικά τη μνήμη και απελευθερώνεται όταν δεν χρησιμοποιείται.
Τύποι διαρροών μνήμης
Οι διαρροές μνήμης μπορούν να κατηγοριοποιηθούν σε διάφορους τύπους και μερικοί από αυτούς εξηγούνται παρακάτω.
- Μέλος διαρροών δεδομένων: Η εκχωρημένη μνήμη για το μέλος της τάξης καταργείται πριν από την καταστροφή της τάξης.
- Διαρροή παγκόσμιας μνήμης: Διαρρέει τη μνήμη που δεν αποτελεί μέρος της κλάσης που δημιουργήθηκε αλλά μπορεί να χρησιμοποιηθεί με διάφορες λειτουργίες και μεθόδους.
- Διαρροή στατικής μνήμης: Διαρροή της μνήμης που είναι αφιερωμένη σε μια λειτουργία που ορίζεται από την κλάση που δημιουργήθηκε.
- Διαρροή εικονικής μνήμης: Όταν μια βασική κλάση δεν δηλώνεται ως εικονική, τότε οι καταστροφείς για το παράγωγο αντικείμενο δεν μπορούν να κληθούν.
- Κλήση λανθασμένου απενεργοποιητή.
Διαχείριση διαρροών μνήμης
# 1) Η διαρροή μνήμης επιμένει όταν δεν υπάρχει αναφορά στην κατανομή μνήμης.
#δύο) Τέτοιες διαρροές μνήμης προκαλούν την εκτέλεση ενός προγράμματος περισσότερο από τον αναμενόμενο χρόνο και καταναλώνει υπερβολική μνήμη εκτελώντας συνεχώς στο παρασκήνιο ή σε διακομιστή.
# 3) Οι φορητές συσκευές επηρεάζονται περισσότερο από διαρροές μνήμης καθώς περιέχουν μικρότερη ποσότητα μνήμης και μειώνουν την ικανότητα επεξεργασίας μιας συσκευής.
# 4) Μπορούμε να πάρουμε τοΠαράδειγματου .NET Memory Leak Management System όπως,
- Το CLR (Common Language Runtime) φροντίζει για την κατανομή πόρων στο .NET και τα απελευθερώνει.
- Το .NET υποστηρίζει 3 τύπους κατανομής μνήμης όπως:
- Σωρός: Αποθηκεύει τοπικές παραμέτρους μεταβλητών και μεθόδων. Η αναφορά σε κάθε αντικείμενο που δημιουργείται αποθηκεύεται στο Stack.
- Μη διαχειριζόμενος σωρός: Ο μη διαχειριζόμενος κώδικας θα εκχωρήσει το αντικείμενο σε μια μη διαχειριζόμενη στοίβα.
- Διαχειριζόμενος σωρός: Ο διαχειριζόμενος κώδικας θα εκχωρήσει το αντικείμενο σε μια διαχειριζόμενη στοίβα.
# 5) Ο συλλέκτης απορριμμάτων ελέγχει για αντικείμενα που δεν χρησιμοποιούνται και μόλις διαπιστώθηκε ότι έχουν αφαιρεθεί από τον συλλέκτη απορριμάτων.
# 6) Το Garbage Collector διαχειρίζεται τη δομή που μοιάζει με το δέντρο ή το γράφημα για να ελέγξει τις ρίζες της εφαρμογής σε κάθε άμεσα και έμμεσα προσβάσιμα αντικείμενα και αν εντοπιστούν αντικείμενα που δεν υπάρχουν τότε το βάζει απλώς στη συλλογή απορριμμάτων.
Τώρα, θα εξετάσουμε μερικά δημοφιλή εργαλεία Διαχείρισης Διαρροών Μνήμης που χρησιμοποιούνται ευρέως για τη διαχείριση διαρροών μνήμης.
******************
= >> Επικοινωνήστε μαζί μας να προτείνω μια καταχώριση εδώ.
*****************
Κορυφαία εργαλεία ανίχνευσης και διαχείρισης διαρροών μνήμης
Παρακάτω δίνεται η λίστα των πιο συχνά χρησιμοποιούμενων εργαλείων ανίχνευσης και διαχείρισης διαρροών μνήμης.
# 1) GCeasy
- Αυτό το δωρεάν εργαλείο επιλύει προβλήματα μνήμης γρήγορα και είναι γνωστό ως ένας μεγάλος αναλυτής μνήμης.
- Είναι το πρώτο εργαλείο ανάλυσης καταγραφής συλλογής απορριμμάτων που καθοδηγείται από μηχανή.
- Υποστηρίζει επίσης όλα τα αρχεία καταγραφής Android GC, χρησιμοποιεί αλγόριθμο μηχανικής εκμάθησης για τον εντοπισμό προβλημάτων μνήμης που προέκυψαν και ειδοποιεί επίσης για μελλοντικά ζητήματα.
- Η αυτόματη ανίχνευση προβλημάτων, η άμεση ανάλυση GC στο διαδίκτυο, η ενοποιημένη ανάλυση καταγραφής GC είναι μερικά από τα σημαντικά χαρακτηριστικά αυτού του εργαλείου.
Κάντε κλικ εδώ για να μεταβείτε στον επίσημο ιστότοπο του GCeasy.
# 2) Eclipse MAT
- Το Eclipse MAT είναι γνωστό ως γρήγορο και χαρακτηριστικό Java Heap Analyzer.
- Αυτό το εργαλείο βοηθά στη μείωση της κατανάλωσης μνήμης και στον εντοπισμό διαρροών μνήμης.
- Δημιουργεί αυτόματες αναφορές δημιουργώντας πληροφορίες σχετικά με το σφάλμα που αποτρέπει τη συλλογή αντικειμένων από τον συλλέκτη απορριμμάτων.
- Η κύρια εστίαση αυτού του εργαλείου παραμένει στην υψηλή κατανάλωση μνήμης και στα σφάλματα μνήμης.
- Αυτό το έργο ενσωματώνεται με Eclipse Photon, Eclipse Oxygen, Neon, Kepler κ.λπ.
Κάντε κλικ εδώ για να μεταβείτε στον επίσημο ιστότοπο του Eclipse MAT.
# 3) Memcheck από τον Valgrind
- Το Memcheck μπορεί να εντοπίσει τα ακόλουθα προβλήματα μνήμης με βάση malloc, νέες, δωρεάν και διαγραφή κλήσεων μνήμης:
-
- Μη αρχικοποιημένη μνήμη
- Χαμένοι δείκτες
- Χρησιμοποιώντας απελευθερωμένη μνήμη
- Πρόσβαση σε ακατάλληλες περιοχές στη στοίβα
-
- Ελέγχει και κατευθύνει αυτόματα τις παραμέτρους όπου ορίζονται.
- Το Memcheck by Valgrind είναι εμπορικό λογισμικό για τον εντοπισμό σφαλμάτων μνήμης.
- Είναι χρήσιμο να ανιχνεύονται σφάλματα μνήμης που εμφανίζονται στα C και C ++.
- Επίσης, το Memcheck ελέγχει εάν το buffer που ορίζεται από το πρόγραμμα είναι διευθυνσιοδοτούμενο ή όχι.
- Το Memcheck διατηρεί ένα κομμάτι μπλοκ σωρού για να αναγνωρίσει το άδικο μπλοκ μετά την έξοδο του προγράμματος.
Κάντε κλικ εδώ για να μεταβείτε στον επίσημο ιστότοπο του Memcheck.
# 4) GlowCode
- Το GlowCode είναι ένας αποκλειστικός αναλυτής απόδοσης σε πραγματικό χρόνο και μνήμη για Windows και .NET Framework.
- Το GlowCode εντοπίζει διαρροές μνήμης στις εφαρμογές που εκτελούνται γραμμένες σε γλώσσα που είναι συμβατή με C ++, C # ή NET.
- Ελέγχει επίσης τη ροή απόδοσης, την κάλυψη κώδικα και την υπερβολική κατανάλωση μνήμης.
- Υποστηρίζει Windows 10 και Windows Server 2016 και παρέχει έγκαιρη ανίχνευση προβλημάτων απόδοσης και μνήμης στο τρέχον σύστημα.
- Υποστηρίζει εγγενή, διαχειριζόμενο και μικτό κώδικα.
Κάντε κλικ εδώ για να μεταβείτε στον επίσημο ιστότοπο του GlowCode.
# 5) AQTime από το Smartbear
- Το AQTime είναι το ιδιόκτητο εργαλείο της Smartbear που υποστηρίζει Delphi, C #, C ++, .NET, Java κ.λπ.
- Εντοπίζει διαρροές μνήμης, σημεία συμφόρησης απόδοσης και κενά κάλυψης κώδικα στο σύστημα εφαρμογών.
- Αναλύει αποτελεσματικά πληροφορίες σχετικά με την πολύπλοκη μνήμη και την απόδοση για να εντοπίσει το σφάλμα με τη βασική αιτία.
- Η ταχύτερη προσέγγιση για τον εντοπισμό διαρροών μνήμης, κενών κάλυψης κώδικα και σημείων συμφόρησης.
- Ανάλυση από πάνω προς τα κάτω στους Δελφούς της εφαρμογής για τον εντοπισμό διαρροής μνήμης και πόρων.
Κάντε κλικ εδώ για να μεταβείτε στον επίσημο ιστότοπο του AQTime.
# 6) WinDbg
- Το Windbg για Windows χρησιμοποιείται για τον εντοπισμό απορρίψεων μνήμης πυρήνα και την εξέταση του μητρώου CPU.
- Έρχεται σε διαφορετική έκδοση για συσκευές Windows, εφαρμογές Web και Desktop.
- Η δυνατότητα εντοπισμού σφαλμάτων κατάστασης λειτουργίας χρήστη είναι γνωστή ως «Post -Mortem Debugging».
- Μπορείτε να αναπτύξετε επεκτάσεις DLL για εντοπισμό σφαλμάτων του Command Language Runtime (CLR).
- Το Windbg έρχεται με προεγκατεστημένο Ext.dll που χρησιμοποιούνται ως επέκταση Standard Windows Debugger.
Κάντε κλικ εδώ για να μεταβείτε στον επίσημο ιστότοπο του Windbg.
# 7) Έλεγχος ορίων
- Αυτό είναι το ιδιόκτητο εργαλείο για τη μνήμη και το εργαλείο επικύρωσης API για λογισμικό C ++.
- Υπάρχουν δύο Ενεργός έλεγχος και FinalCheck, ActiveCheck εκτελείται ενάντια στην εφαρμογή και Τελικός έλεγχος χρησιμοποιείται για τον έλεγχο της οργανικής μορφής του συστήματος.
- Το ActiveCheck μπορεί να εντοπίσει διαρροές μνήμης παρακολουθώντας κλήσεις API και COM.
- Το FinalCheck έρχεται με δυνατότητες του ActiveCheck μαζί με τη δυνατότητα εντοπισμού υπερχείλισης buffer και απροσδιόριστης μνήμης.
- Το Memory Overrun Detection είναι το καλύτερο χαρακτηριστικό για το οποίο είναι γνωστό το BoundsChecker.
Κάντε κλικ εδώ για να μεταβείτε στον επίσημο ιστότοπο του BoundsChecker.
# 8) Ντάλεκερ
- Το Deleaker είναι ένα αυτόνομο ιδιόκτητο εργαλείο ανίχνευσης διαρροών μνήμης και χρησιμοποιείται επίσης ως επέκταση Visual C ++.
- Εντοπίζει επίσης διαρροές μνήμης στο σωρό και στην εικονική μνήμη επίσης και ενσωματώνεται εύκολα με οποιοδήποτε IDE.
- Η αυτόνομη έκδοση εντοπίζει την εφαρμογή για την εμφάνιση της τρέχουσας κατανομής αντικειμένων.
- Υποστηρίζει και το 32-bit καθώς και το 64-bit σύστημα και πλήρως ενσωματωμένο στο Visual Studio.
- Δημιουργεί πλούσιες αναφορές και εξάγει το τελικό αποτέλεσμα σε XML.
Κάντε κλικ εδώ για να μεταβείτε στην επίσημη ιστοσελίδα του Deleaker.
# 9) Δρ. Μνήμη
- Το Dr. Memory είναι ένα δωρεάν εργαλείο παρακολούθησης μνήμης για Windows, Linux και Mac.
- Αυτό το εργαλείο είναι ικανό να εντοπίσει την αρχική και ανεπιθύμητη μνήμη και την απελευθερωμένη μνήμη.
- Η Dr. Memory ορίζει 3 τύπους σφαλμάτων:
-
-
- Ακόμα - προσβάσιμη τοποθεσία: προσιτή μνήμη από την εφαρμογή.
- Διαρροή: η μνήμη δεν είναι προσβάσιμη από την εφαρμογή.
- Πιθανή διαρροή: Μνήμη που είναι προσβάσιμη μέσω δεικτών.
-
-
- Επιπλέον, ορίζει δύο τύπους διαρροών όπως ένα Άμεσο και Εμμεσος διαρροή.
Κάντε κλικ εδώ για να μεταβείτε στην επίσημη ιστοσελίδα του Deleaker.
# 10) Intel Inspector XE
- Αυτό το ιδιόκτητο εργαλείο βοηθά στην έγκαιρη ανίχνευση διαρροών μνήμης και συμβάλλει στη μείωση των εξόδων για τη διόρθωση διαρροών μνήμης.
- Γνωστό ως πρόγραμμα εντοπισμού σφαλμάτων για εφαρμογές C, C ++ που εκτελούνται σε Windows και Linux χωρίς να χρησιμοποιούν ειδικό μεταγλωττιστή.
- Είναι επίσης διαθέσιμο ως μέρος του Intel Parallel Studio XE και του Intel System Studio.
- Το Intel Inspector XE εκτελεί στατική και δυναμική ανάλυση για να εντοπίσει τη βασική αιτία διαρροών μνήμης.
- Η δυναμική ανάλυση εντοπίζει σύνθετες αιτίες για διαρροές μνήμης που δεν ανιχνεύονται από τη στατική ανάλυση.
- Ανιχνεύει κατεστραμμένη μνήμη, παράνομη πρόσβαση στη μνήμη, μη αρχικοποιημένη μνήμη και ασυνεπής μνήμη κ.λπ.
Κάντε κλικ εδώ για να μεταβείτε στον επίσημο ιστότοπο Intel Inspector XE.
# 11) Ασφαλίστε ++
- Το Parasoft Insure ++ είναι το αποκλειστικό εμπορικό πρόγραμμα εντοπισμού σφαλμάτων μνήμης για C / C ++.
- Ανιχνεύει αυτόματα ανακριβείς παραβιάσεις συστοιχιών, μη εκχωρημένη μνήμη.
- Δυνατότητα εκτέλεσης ίχνους στοίβας όταν προέκυψε πραγματική διαρροή.
- Για το σύνολο του δοκιμασμένου κώδικα, το Insure ++ παράγει Linear Code Sequence και Jump Code Sequence.
Κάντε κλικ εδώ για να μεταβείτε στον Επίσημο ιστότοπο Insure ++.
# 12) Ανιχνευτής Διαρροής Visual για Visual C ++ 2008-2015
- Το Visual Leak Detector είναι ένα δωρεάν εργαλείο ανίχνευσης διαρροών μνήμης ανοιχτού κώδικα για C / C ++.
- Γρήγορη διάγνωση διαρροών μνήμης στην εφαρμογή C ++ και επιλέγει τη μονάδα που πρέπει να αποκλειστεί από τη διαρροή μνήμης.
- Το Visual C ++ παρέχει την ενσωματωμένη ανίχνευση διαρροών μνήμης που παρέχει ένα πλήρες σύνολο μπλοκ που έχουν διαρρεύσει.
- Οι προσαρμόσιμες και λεπτομερείς αναφορές διαρροής μνήμης είναι το καλύτερο χαρακτηριστικό αυτού του εργαλείου.
- Ενεργοποιεί τον πλήρη τεκμηριωμένο πηγαίο κώδικα στη βιβλιοθήκη.
Κάντε κλικ εδώ για πλοήγηση στο ουe Επίσημος ιστότοπος του Visual Leak Detector.
# 13) Visual Studio Profiler
- Το Visual Studio διαθέτει το Εργαλείο Χρήσης Μνήμης που βοηθά στον εντοπισμό διαρροών μνήμης και αναποτελεσματικής μνήμης.
- Αυτό το εργαλείο χρησιμοποιείται για εφαρμογές επιφάνειας εργασίας, εφαρμογές ASP.NET και εφαρμογές Windows.
- Μπορείτε να τραβήξετε στιγμιότυπα διαχειριζόμενης και εγγενούς μνήμης και να αναλύσετε μεμονωμένα στιγμιότυπα για να κατανοήσετε την επίδραση ενός αντικειμένου στη μνήμη.
- Μπορείτε να χρησιμοποιήσετε περισσότερα από ένα στιγμιότυπα για να βρείτε τη βασική αιτία της υπερβολικής χρήσης μνήμης.
- Ενεργοποιεί τον πλήρη τεκμηριωμένο πηγαίο κώδικα στη βιβλιοθήκη.
Κάντε κλικ εδώ για πλοήγηση στο ουe Επίσημος ιστότοπος Visual Studio Profiler.
# 14) Mtuner
- Το Mtuner είναι ένας ανιχνευτής διαρροής μνήμης που χρησιμοποιείται για εφαρμογές Windows και PlayStation.
- Παρέχει πρόσθετες λειτουργίες για το προφίλ μνήμης.
- Το Mtuner μπορεί να χειριστεί έναν αριθμό κατανομών ανά δευτερόλεπτο με γραμμική κλιμάκωση απόδοσης.
- Το Mtuner συνοδεύεται από προφίλ βάσει γραμμής εντολών που είναι χρήσιμο να παρακολουθείτε καθημερινές αλλαγές στη χρήση μνήμης.
Κάντε κλικ εδώ για πλοήγηση στο ουe Mtuner Επίσημος ιστότοπος.
# 15) Ανιχνευτής διαρροών Windows
- Το Windows Leak Detector είναι ένα εργαλείο ανίχνευσης διαρροών μνήμης για την εφαρμογή των Windows.
- Ορισμένοι κύριοι ανιχνευτές διαρροών των Windows είναι:
-
-
- Δεν απαιτείται πηγαίος κώδικας και εάν υπάρχει τότε απαιτεί λιγότερες τροποποιήσεις.
- Μπορεί να αναλύσει οποιαδήποτε εφαρμογή των Windows είναι γραμμένη σε οποιαδήποτε γλώσσα.
- Αποτελεσματικό και κατάλληλο για εφαρμογή που αναπτύχθηκε σε κυκλικό μοτίβο.
-
-
- Αυτό το εργαλείο αναπτύσσεται συνεχώς και εξακολουθεί να έχει ορισμένους περιορισμούς:
-
-
- Μπορείτε να διαχειριστείτε μόνο μία μεμονωμένη διαδικασία κάθε φορά, η δυνατότητα επικοινωνίας μεταξύ διεργασίας θα προστεθεί στο μέλλον.
- Αναλύει μόνο τις λειτουργίες HeapAlloc, HeapRealloc και HealFree.
-
-
Οι προγραμματιστές του συστήματος εργάζονται για την προσθήκη περισσότερων λειτουργιών μνήμης όπως το HeapCreate.
Κάντε κλικ εδώ για πλοήγηση στο ουe Επίσημος ιστότοπος ανιχνευτή διαρροών των Windows.
# 16) Διεύθυνση Sanitizer (A San)
- Αυτό το εργαλείο ανοιχτού κώδικα έχει σχεδιαστεί για να ανιχνεύει διαρροές μνήμης στο πρόγραμμα C / C ++.
- Το πιο γρήγορο εργαλείο αποτελείται από Compiler Instrumentation Module και Run-time library.
- Αυτό το εργαλείο βρίσκει διαρροές μνήμης Heap and Stack και διαρροές μνήμης.
- Το LeakSanitizer είναι ενσωματωμένο στο AddressSanitizer που κάνει τη δουλειά της ανίχνευσης διαρροών μνήμης.
- Με το LeakSanitizer μπορούμε να καθορίσουμε τις οδηγίες για να αγνοήσουμε κάποιες διαρροές μνήμης στέλνοντάς την σε ξεχωριστό αρχείο καταστολής.
- Αυτό το εργαλείο υποστηρίζεται σε Linux, Mac, OS X, Android και iOS Simulator.
Κάντε κλικ εδώ για πλοήγηση στο ουe Διεύθυνση Επίσημη ιστοσελίδα.
# 17) GCViewer
- Το GCViewer είναι ένα δωρεάν εργαλείο που δημιουργείται από IBM, HP, Sun Oracle και BEA JVMs.
- Αυτό το εργαλείο χρησιμοποιείται για την ανάλυση και ανάλυση αρχείων GC Log.
- Μπορείτε να δημιουργήσετε τα δεδομένα σε μορφή CSV ως εφαρμογή υπολογιστικού φύλλου.
- Λειτουργεί στο Verbose Garbage Collection. Εν συντομία, η συλλογή απορριμμάτων Verbose είναι:
-
- Μια συλλογή απορριμμάτων με βάση την εκδήλωση για κάθε λειτουργία.
- Η έξοδος Verbose Garbage Collection περιέχει αναγνωριστικό αύξησης και τοπική χρονική σήμανση.
-
Κάντε κλικ εδώ για πλοήγηση στο ουe Επίσημος ιστότοπος του GCViewer.
# 18) Plumbr
qa ή ba που είναι καλύτερο
- Είναι ένα ιδιόκτητο εμπορικό εργαλείο που χρησιμοποιείται για τον έλεγχο διαρροών μνήμης και συλλογής απορριμμάτων στην εφαρμογή JVM.
- Το Plumbr βασίζεται σε δύο σημαντικές ενότητες, όπως ένας πράκτορας και μια πύλη.
- Ο πράκτορας υποστηρίζει JVM και στέλνει πληροφορίες σχετικά με τη συλλογή απορριμμάτων και τη διαρροή μνήμης στην πύλη.
- Μπορείτε να δείτε τις πληροφορίες σχετικά με τη χρήση της μνήμης και το σωρό στην πύλη.
- Το εργαλείο χρησιμοποιεί έναν αλγόριθμο ανίχνευσης που βασίζεται στην ανάλυση των δεδομένων απόδοσης.
Κάντε κλικ εδώ για πλοήγηση στο ουΕπίσημος ιστότοπος e Plumbr.
# 19). Επικυρωτής μνήμης NET
- Το .NET Memory Validator είναι ένας εμπορικός αναλυτής διαρροής μνήμης, ένας προφίλ προφίλ μνήμης που χρησιμοποιείται για ανάπτυξη λογισμικού και διασφάλιση ποιότητας.
- Γνωστός ως ο γρηγορότερος τρόπος παρακολούθησης πολλαπλών κατανομών μνήμης παρέχοντας πολλές πληροφορίες όπως:
-
- Κατανομές: Εμφανίζει στατιστικά στοιχεία κατανομής με χρωματική κωδικοποίηση βάσει κλάσης και
η μέθοδος που ορίζεται για την κατανομή της συνάρτησης. - Αντικείμενα: Η προβολή αντικειμένων εμφανίζει χρωματικό κωδικοποιημένο αντικείμενο και κατανομή μνήμης
στατιστικά στοιχεία για τις εφαρμογές που εκτελούνται. - Γενιές: Εμφανίζει τον αριθμό των αντικειμένων ανά τύπο αντικειμένου για κάθε αντικείμενο
παραγωγή που διατίθεται από την εφαρμογή. - Μνήμη: Η προβολή μνήμης εμφανίζει το τρέχον αντικείμενο με πληροφορίες σχετικά με
τύπος αντικειμένου, μέγεθος κατανομής και στοίβα κλήσεων, χρονική σήμανση. - Ανάλυση: Αυτή η προβολή εμφανίζει τη χρήση της μνήμης.
- Κατανομές: Εμφανίζει στατιστικά στοιχεία κατανομής με χρωματική κωδικοποίηση βάσει κλάσης και
-
- Οι κύριες λειτουργίες αυτού του εργαλείου περιλαμβάνουν τον εντοπισμό διαρροών μνήμης, τον χειρισμό διαρροών μνήμης, την εκτέλεση δοκιμών παλινδρόμησης για τον εντοπισμό διαρροών μνήμης.
- Το .NET Memory validator είναι συμβατό με οποιαδήποτε έκδοση του .NET framework και CLR.
- Εύκολο στη χρήση, ένα διαμορφώσιμο, ισχυρό και πολλαπλών χρήσεων εργαλείο για τον εντοπισμό διαρροών μνήμης.
Κάντε κλικ εδώ για πλοήγηση στο ουε. Επίσημος ιστότοπος επικυρωτή μνήμης .NET.
# 20) Επικυρωτής μνήμης C ++
- Όπως και το .NET Memory Validator, αυτό το εργαλείο είναι επίσης ένας εμπορικός ανιχνευτής διαρροής μνήμης και αναλυτής.
- Το C ++ Memory Validator παρέχει πολλές πληροφορίες όπως:
-
- Μνήμη: Εμφανίζει τις πληροφορίες σχετικά με την εκχωρημένη και διαρροή μνήμη και εντοπίζει μηνύματα σφάλματος. Τα δεδομένα εμφανίζονται σε μια δομή δέντρου που μπορεί να επιλεγεί και να φιλτραριστεί.
- Αντικείμενα: Εμφανίζει στατιστικά στοιχεία αντικειμένων με τύπο αντικειμένου και εκχωρημένα, ανακατανεμημένα και ανακατανεμημένα αντικείμενα.
- Κάλυψη: Αυτή η προβολή παρέχει πληροφορίες σχετικά με τη χρήση της μνήμης. Το εργαλείο συνοδεύεται από φίλτρα που καταργούν τα αρχεία τρίτων.
-
- Η δυνατότητα αυτόματης συγχώνευσης βοηθά στη συγχώνευση πολλαπλών στατιστικών στοιχείων από πολλές πληροφορίες για τη δημιουργία σύνθετης κάλυψης για τη σειρά δοκιμών παλινδρόμησης.
- Εκτός από αυτές τις πληροφορίες, το εργαλείο παρέχει Χρονολόγιο, Hotspot, Μεγέθη και προβολή ανάλυσης της εφαρμογής.
- Ισχυρό και διαμορφώσιμο εργαλείο συμβατό με Microsoft C και C ++, Intel C ++ κ.λπ.
Κάντε κλικ εδώ για πλοήγηση στο ουe C ++ Επίσημος ιστότοπος Memory Validator.
# 21) Dynatrace
- Το Dynatrace είναι ένα εμπορικό εργαλείο που υποστηρίζει τη διαχείριση επιδόσεων All-in-One και περιλαμβάνει παρακολούθηση πλήρους στοίβας, ανάλυση μεμονωμένης συναλλαγής.
- Παρέχει εργαλεία ανίχνευσης διαρροών μνήμης για τον προσδιορισμό της κατανάλωσης μνήμης.
- Τα εργαλεία ανίχνευσης διαρροών μνήμης Dynatrace Java είναι διαθέσιμα για εφαρμογές γραμμένες σε Java και .NET Profiler Tools χρησιμοποιούνται για εφαρμογές που εκτελούνται σε Java.
- Με τη μοναδική του προβολή hotspot, μπορείτε να βρείτε ένα αντικείμενο που δεν χρησιμοποιεί αποτελεσματικά τη μνήμη.
- Μπορείτε να εκτελέσετε τάσεις μνήμης από τη χρήση μνήμης. Αυτό το εργαλείο βοηθά στον εντοπισμό των αντικειμένων που αυξάνουν συνεχώς την κατανάλωση μνήμης και δεν έχουν αφαιρεθεί σωστά από τη μνήμη.
Κάντε κλικ εδώ για πλοήγηση στο ουΕπίσημος ιστότοπος e Dynatrace.
Πρόσθετα εργαλεία διαρροής μνήμης
Αυτά είναι μερικά ευρέως χρησιμοποιούμενα εργαλεία για τον εντοπισμό διαρροών μνήμης. Και πάλι η λίστα δεν έχει τελειώσει εδώ, υπάρχουν και άλλα εργαλεία που χρησιμοποιούνται για την επίτευξη του ίδιου σκοπού.
Θα τα εξετάσουμε εν συντομία:
# 22) Προφίλer NetBeans :
Το NetBeans Profiler είναι ένα ιδιόκτητο εργαλείο δημιουργίας προφίλ Java που αναπτύχθηκε με χαρακτηριστικά όπως μνήμη, νήματα, ερωτήματα SQL κ.λπ. Σήμερα αυτό το εργαλείο έρχεται με μερικές νέες και προηγμένες δυνατότητες για τον χειρισμό των σφαλμάτων νήματος.
Διεύθυνση URL: Προφίλ του NetBeans
# 23) Mtrace :
Το Mtrace είναι ενσωματωμένο στο glibc (το GNUC είναι ένα έργο βιβλιοθήκης για την επιτυχή υλοποίηση της τυπικής βιβλιοθήκης C) που χρησιμοποιείται για τον εντοπισμό διαρροών μνήμης που προκαλούνται από ασυνήθιστες κλήσεις malloc / free.
Μόλις καλείται, σταματά την κατανομή της μνήμης στα αντικείμενα. Το σενάριο Mtrace Perl χρησιμοποιείται για τη σάρωση του αρχείου καταγραφής που δημιουργήθηκε για διαρροές μνήμης. Επίσης, εάν του δώσετε τον πηγαίο κώδικα τότε μπορεί να γίνει κατανοητή η ακριβής τοποθεσία όπου προέκυψε το πρόβλημα.
Διεύθυνση URL: Mtrace
# 24) Java Visual VM :
Το Visual VM είναι ένα πολύ χρήσιμο εργαλείο για τους προγραμματιστές για τον εντοπισμό και την παρακολούθηση διαρροών μνήμης. Αναλύει δεδομένα σωρού και συλλέκτη απορριμμάτων. Εξασφαλίζει τη βελτιστοποιημένη χρήση της μνήμης και βοηθά στη βελτίωση της απόδοσης της εφαρμογής.
Προσφέρει χαρακτηριστικά όπως Ανάλυση νήματος και Ανάλυση Heap Dump για την επίλυση προβλημάτων χρόνου εκτέλεσης.
Εδώ τελειώσαμε με τα πιο δημοφιλή Εργαλεία Διαχείρισης Διαρροών Μνήμης. Μπορούμε να επιλέξουμε μία ή περισσότερες περιοχές ανά κρίσιμη μνήμη στο σύστημά μας.
Επίσης, με τη χρήση αυτού του λογισμικού, όχι μόνο μπορούμε να κάνουμε την εργασία ευκολότερη, αλλά και να μειώσουμε την κατανάλωση χρόνου που απαιτείται για τον εντοπισμό διαρροών μνήμης που είναι συγκριτικά μια κουραστική εργασία.
Διεύθυνση URL: Java Visual VM
συμπέρασμα
Τα εργαλεία διαχείρισης διαρροών μνήμης μειώνουν το ποσοστό των προσπαθειών και του χρόνου που αφιερώνεται στη διαχείριση της μνήμης. Η διαχείριση της πρόσβασης στη μνήμη και η κατανομή & οι διαρροές παρακολούθησης είναι τόσο σημαντική εργασία, καθώς η μνήμη είναι η ραχοκοκαλιά οποιουδήποτε λογισμικού για τη διατήρηση και τη διαχείριση των δεδομένων σας αποτελεσματικά.
Και πάλι, χωρίς σωστή κατανομή μνήμης, κανείς δεν μπορεί καν να τρέξει το σύστημα εφαρμογών. Για να αποφύγουμε την αστοχία του συστήματος και να βελτιώσουμε την απόδοσή του, πρέπει να εκτελέσουμε διαχείριση διαρροών μνήμης.
Λαμβάνοντας υπόψη αυτήν την ανάγκη, πολλοί οργανισμοί χρησιμοποιούν τα διαθέσιμα εργαλεία για αυτό, ενώ τελικά θα κάνουν τα πράγματα ευκολότερα για αυτούς και τον τελικό χρήστη.
******************
= >> Επικοινωνήστε μαζί μας να προτείνω μια καταχώριση εδώ.
******************
Συνιστώμενη ανάγνωση
- Πώς να διορθώσετε τη διαρροή μνήμης σε εφαρμογές Android χρησιμοποιώντας το εργαλείο DDMS
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Ανάπτυξη Java: Δημιουργία και εκτέλεση αρχείου Java JAR
- Java Virtual Machine: Πώς βοηθά το JVM στην εκτέλεση της εφαρμογής Java
- Πρόσβαση τροποποιητών σε Java - Εκμάθηση με παραδείγματα
- Εκμάθηση Java Reflection με παραδείγματα
- Εισαγωγή στη γλώσσα προγραμματισμού Java - Video Tutorial
- 25 Καλύτερα πλαίσια δοκιμής Java και εργαλεία για αυτοματοποίηση δοκιμών (Μέρος 3)