A method and system for detecting memory leaks in an object-oriented
environment during real-time trace processing is provided. During the
profiling of a program executing in a data processing system, a profiler
processes events caused by the execution of the program, and the profiler
maintains a profile data structure containing execution-related metrics
for the program. The execution-related metrics may include object
allocation and deallocation metrics that are associated with object
processing initiated on behalf of an executing method. An object allocator
allocates objects during the execution of the program and modifies object
allocation metrics in the profile data structure. An object deallocator,
such as a garbage collector, deallocates objects during the execution of
the program and modifies object deallocation metrics in the profile data
structure. The object allocation metrics and the object deallocation
metrics may be compared to identify memory leaks.
Μια μέθοδος και ένα σύστημα για τις διαρροές μνήμης σε ένα αντικειμενοστρεφές περιβάλλον κατά τη διάρκεια της σε πραγματικό χρόνο επεξεργασίας ιχνών παρέχονται. Κατά τη διάρκεια της σκιαγράφησης ενός προγράμματος που εκτελεί σε ένα σύστημα επεξεργασίας δεδομένων, ένα profiler επεξεργάζεται τα γεγονότα που προκαλούνται από την εκτέλεση του προγράμματος, και το profiler διατηρεί μια δομή δεδομένων σχεδιαγράμματος που περιέχει τις εκτέλεση-σχετικές με την μετρικές για το πρόγραμμα. Οι εκτέλεση-σχετικές με το μετρικές μπορούν να περιλάβουν κατανομής και deallocation αντικειμένου τις μετρικές που συνδέονται με την επεξεργασία αντικειμένου που αρχίζει εξ ονόματος μιας μεθόδου εκτέλεσης. Ένας διαθέτης αντικειμένου διαθέτει τα αντικείμενα κατά τη διάρκεια της εκτέλεσης του προγράμματος και τροποποιεί τις μετρικές κατανομής αντικειμένου στη δομή δεδομένων σχεδιαγράμματος. Ένα deallocator αντικειμένου, όπως ένας συλλέκτης απορριμάτων, απελευθερώνει τα αντικείμενα κατά τη διάρκεια της εκτέλεσης του προγράμματος και τροποποιεί deallocation αντικειμένου τις μετρικές στη δομή δεδομένων σχεδιαγράμματος. Οι μετρικές κατανομής αντικειμένου και οι deallocation αντικειμένου μετρικές μπορούν να συγκριθούν για να προσδιορίσουν τις διαρροές μνήμης.