Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
122 words
A memory analysis system for displaying memory allocation and deallocation events associated with an application program, the memory analysis system including: A. a kernel processor for monitoring memory events and determining (i) if an event is an allocation or deallocation, (ii) the memory locations included in the event and (iii) the application program routines associated with the event; B. a main processor for classifying allocated memory locations by segment type, by associating each memory event and the locations corresponding thereto with a routine in the application program; C. a display unit for displaying a graphic display of the allocations of memory locations by segment types; D. the main processor sending to the display unit information designating allocated memory locations by segment types.
Claim 2
Dependent Claim
122 words
A memory analysis system for displaying memory allocation and deallocation events associated with an application program, the memory analysis system including: A. a kernel processor for monitoring memory events and determining (i) if an event is an allocation or deallocation, (ii) the memory locations included in the event and (iii) the application program routines associated with the event; B. a main processor for classifying allocated memory locations by segment type, by associating each memory event and the locations corresponding thereto with a routine in the application program; C. a display unit for displaying a graphic display of the allocations of memory locations by segment types; D. the main processor sending to the display unit information designating allocated memory locations by segment types.
Claim 3
Dependent Claim
109 words
The memory analysis system of claim 1 further including: a. in the main processor i. means for tracing a memory allocation command back through related routines in the application program to produce a call-stack, which is a list of the names of the associated routines; ii. means for determining applicable lines of source code from the program routines listed in the call-stack, the main processor sending to the display unit information that associates a segment type with a call-stack and with lines of source code, and b. in the display unit, means for displaying the call-stack and the lines of source code associated with a selected allocated memory segment.
Claim 4
Dependent Claim
29 words
The memory analysis system of claim 2 further including in the display unit means for depicting the allocated memory locations in a map, with locations designated by segment type.
Claim 5
Dependent Claim
107 words
The memory analysis system of claim 3 further including: a. designation means for designating routines for which segment type information is to be temporarily omitted from the display, the designation means sending information to the main processor which identifies the routines so designated; and b. in the main processor, means for refraining temporarily from sending to the the display unit instructions to depict particular memory locations as the segments types designated as omitted by the designation means, the main processor, as necessary, classifying locations previously classified as segment types corresponding to the routines designated as omitted as types corresponding to other routines included on the associated call-stacks.
Claim 6
Dependent Claim
41 words
The memory analysis system of claim 4 further including a. means for designating routines for which the segment type information is to be eliminated from the display, b. in the main processor means for eliminating information about the routines so designated.
Claim 7
Dependent Claim
79 words
The memory analysis system of claim 1 further including: a. in the main processor i. means for determining the amount of memory allocated by segment type, as a percentage of total memory allocated to the application program; ii. means for determining, as a percentage of a total number of memory events associated with the application program, the number of memory events associated with a memory segment type; and b. in the display means, means for graphically displaying the percentages.
Claim 8
Dependent Claim
154 words
The memory analysis system of claim 1 further including: a. in the main processor i. processor synchronization means for synchronizing the operations of the main processor to the memory events associated with the application program, wherein the processor synchronization means communicates with the kernal processor, which suspends the execution of the application program, while the main processor continues to process information relating to memory events, the processor synchronization means notifying the kernal processor to allow the application program to proceed when information relating to no more than a predetermined number of memory events requires processing by the main processor; and ii. display synchronization means for synchronizing the operations of the display unit and the operations of the main processor, wherein the display synchronization means prevents the main processor from sending display update information to the display unit if more than a predetermined number of the messages sent previously require processing by the display unit.
Claim 9
Dependent Claim
114 words
The memory analysis system of claim 1 further including a. a debugger for maintaining a debugger table associating symbols and locations in a compiled executable version of the application program to symbols and locations in a source code version of the application program; b. in the kernal processor, i. means for entering the debugger table and formulating a table which relates symbols and locations in an image file version of the application program to symbols and locations in the source code version of the application program; and ii. means for utilizing the symbol and location information in the table so formulated to associate allocated memory locations with source code routines in the application program.
Claim 10
Independent Claim
81 words
A method of producing a display of dynamically allocated memory locations associated with an application program, including the steps of: A. monitoring memory events; B. determining for each event the memory locations involved and the program routine associated with allocated memory location; C. classifying allocated memory locations corresponding to a memory event by segment type, which corresponds to the associated routine in the application program; and C. displaying a graphic depiction of allocated memory locations, depicting the locations by segment types.
Claim 11
Independent Claim
81 words
A method of producing a display of dynamically allocated memory locations associated with an application program, including the steps of: A. monitoring memory events; B. determining for each event the memory locations involved and the program routine associated with allocated memory location; C. classifying allocated memory locations corresponding to a memory event by segment type, which corresponds to the associated routine in the application program; and C. displaying a graphic depiction of allocated memory locations, depicting the locations by segment types.
Claim 12
Dependent Claim
81 words
The method of producing a display of dynamically allocated memory locations of claim 9 further including the steps of: D. tracing a call to a memory allocation routine through related routines in the application program to produce a call-stack, which is a list of associated routines; E. associating lines of source code from selected routines named in the call-stack with the allocated memory segments, and F. displaying the call-stack and lines of source code associated with a selected allocated memory segment.
Claim 13
Dependent Claim
36 words
The method of producing a display of dynamically allocated memory locations of claim 9 further including the step of graphically depicting allocated memory segments in a map in which each segment is depicted by segment type.
Claim 14
Dependent Claim
50 words
The method of producing a display of dynamically allocated memory locations of claim 11 further including the steps of: a. designating program routines for which segment information is to be omitted from the map; and b. refraining from including in the display information relating to the segments designated as omitted.
Claim 15
Dependent Claim
43 words
The method of producing a display of dynamically allocated memory locations of claim 12 further including the step of assigning to each memory location a segment type which corresponds to a program routine on the associated call-stack, which is not designated as omitted.
Claim 16
Dependent Claim
88 words
The method of producing a display of dynamically allocated memory locations of claim 9 further including the steps of: a. determining for each segment type the amount of memory allocated by segment type, as a percentage of total memory allocated to the application program; b. determining, as a percentage of a total number of memory events associated with the application program, the number of memory events associated with each segment type; and c. including in the display a depiction of the percentages determined in steps a and b.
Claim 17
Dependent Claim
115 words
The method of producing a display of dynamically allocated memory locations of claim 9 further including the steps of: a. synchronizing the operations of the main processor to the memory events associated with the application program, wherein the execution of the application program is suspended while information relating to more than a predetermined number of memory events requires processing by the main processor; and b. synchronizing the operations of the display means and the operations of the main processor, wherein the operations of the main processor are controlled to prevent the main processor from sending display information messages to the display unit if more than a predetermined number of previously-sent display information messages require processing.