Accessing damaged heaps using combined linear heap slot based and object graph walking
First Claim
1. A method, comprising:
- generating a core dump responsive to an occurrence of an event in a run-time environment, wherein the core dump specifies contents of a heap at a moment in time that the event occurred, wherein the heap includes one or more slots, and wherein each slot of the one or more slots contains a respective one or more objects;
selectively processing the contents of the heap of the core dump, using an analysis application and by operation of one or more computer processors, using one of a plurality of heap analysis methods, comprising;
analyzing the contents of the heap specified by the core dump using a first heap analysis method of the plurality of heap analysis methods, at a first starting point in the heap, wherein the first heap analysis method comprises analyzing a linear representation of the heap; and
responsive to determining that a first slot is not reachable using the first heap analysis method;
determining a second starting point in the heap; and
analyzing the contents of the heap specified by the core dump using a second heap analysis method, the second starting point in the heap, wherein the second heap analysis method comprises analyzing a graph-based representation of the heap.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments described herein provide a method, system, and computer readable medium configured to analyze a heap following a core dump is disclosed herein. The method begins by generating the core dump responsive to an occurrence of an event in a run-time environment. The core dump contains the contents of a heap at a moment in time that the event occurred. The processor analyzes the heap in the run-time environment using a first heap analysis method at a first starting point in the heap. The heap includes one or more slots. Each slot contains one or more objects. The processor analyzes the contents of the heap specified by the core dump using a second heap analysis method at a second starting point in the heap, responsive to determining that a first slot is not reachable.
-
Citations
15 Claims
-
1. A method, comprising:
-
generating a core dump responsive to an occurrence of an event in a run-time environment, wherein the core dump specifies contents of a heap at a moment in time that the event occurred, wherein the heap includes one or more slots, and wherein each slot of the one or more slots contains a respective one or more objects; selectively processing the contents of the heap of the core dump, using an analysis application and by operation of one or more computer processors, using one of a plurality of heap analysis methods, comprising; analyzing the contents of the heap specified by the core dump using a first heap analysis method of the plurality of heap analysis methods, at a first starting point in the heap, wherein the first heap analysis method comprises analyzing a linear representation of the heap; and responsive to determining that a first slot is not reachable using the first heap analysis method; determining a second starting point in the heap; and analyzing the contents of the heap specified by the core dump using a second heap analysis method, the second starting point in the heap, wherein the second heap analysis method comprises analyzing a graph-based representation of the heap. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising
a computer processor; - and
a memory containing a program that, when executed on the computer processor, performs an operation, comprising; generating a core dump responsive to an occurrence of an event in a run-time environment, wherein the core dump specifies contents of a heap at a moment in time that the event occurred, wherein the heap includes one or more slots, and wherein each slot of the one or more slots contains a respective one or more objects; selectively processing the contents of the heap of the core dump, using an analysis application and by operation of one or more computer processors, using one of a plurality of heap analysis methods, comprising; analyzing the contents of the heap specified by the core dump using a first heap analysis method of the plurality of heap analysis methods, at a first starting point in the heap; and responsive to determining that a first slot is not reachable using the first heap analysis method; determining a second starting point in the heap; and analyzing the contents of the heap specified by the core dump using a second heap, wherein the second heap analysis method comprises analyzing a graph-based representation of the heap analysis method, at the second starting point in the heap. - View Dependent Claims (7, 8, 9, 10)
- and
-
11. A computer program product for analyzing a heap following a core dump, the computer program product comprising:
a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by one or more computer processors to; generate a core dump responsive to an occurrence of an event in a run-time environment, wherein the core dump specifies contents of a heap at a moment in time that the event occurred, wherein the heap includes one or more slots, and wherein each slot of the one or more slots contains a respective one or more objects; selectively process the contents of the heap of the core dump, using an analysis application and by operation of one or more computer processors, using one of a plurality of heap analysis methods, comprising; analyze the contents of the heap specified by the core dump using a first heap analysis method of the plurality of heap analysis methods, at a first starting point in the heap; and responsive to determining that a first slot is not reachable using the first heap analysis method; determine a second starting point in the heap; and analyze the contents of the heap specified by the core dump using a second heap analysis method at the second starting point in the heap, wherein the second heap analysis method comprises analyzing a graph-based representation of the heap. - View Dependent Claims (12, 13, 14, 15)
Specification