Core dump privacy during application failure
US-9251339-B2 · Feb 2, 2016 · US
US10365963B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10365963-B2 |
| Application number | US-201715407040-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 16, 2017 |
| Priority date | Jan 16, 2017 |
| Publication date | Jul 30, 2019 |
| Grant date | Jul 30, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. The method of claim 1 , wherein analyzing the heap in the run-time environment using a first heap analysis, comprises: locating the first starting point in a linear representation of the heap; determining whether the first starting point in the heap is reachable; responsive to determining that the first starting point is reachable, incrementally walking to heap to slot n +1, where n represents a last analyzed slot. 3. The method of claim 2 , further comprising: determining whether the n+1 slot is reachable; responsive to determining that the n+1 slot is reachable, analyzing the n+1 slot to determine whether the n+1 slot contains one or more objects; and responsive to determining that the n+1 slot contains one or more objects, recording that the n+1 slot contains one or more objects. 4. The method of claim 1 , wherein responsive to determining that a first slot is not reachable, analyzing the contents of the heap specified by the core dump using a second heap analysis method at a second starting point in the heap, comprises: locating the first starting point in a graph-based depiction of the heap; identifying one or more roots stemming from the first starting point; incrementally walking along the one or more roots until a second slot is reached; determining whether the second slot is reachable; and responsive to determining that the second slot is reachable, incrementally walking along the one or more roots until another slot is reached. 5. The method of claim 4 , further comprising: incrementally walking along the one or more roots until a third slot is reached; determining whether the third slot is reachable; and responsive to determining that the third slot is reachable, identifying the second slot as a furthest slot reached. 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. 7. The system of claim 6 , wherein analyzing the heap in the run-time environment using a first heap analysis, comprises: locating the first starting point in a linear representation of the heap; determining whether the first starting point in the heap is reachable; responsive to determining that the first starting point is reachable, incrementally walking to heap to slot n +1, where n represents a last analyzed slot. 8. The system of claim 7 , wherein the operation further comprises: determining whether the n+1 slot is reachable; responsive to determining that the n+1 slot is reachable, analyzing the n+1 slot to determine whether the n+1 slot contains one or more objects; and responsive to determining that the n+1 slot contains one or more objects, recording that the n+1 slot contains one or more objects. 9. The system of claim 6 , wherein responsive to determining that a first slot is not reachable, analyzing the contents of the heap specified by the core dump using a second heap analysis method at a second starting point in the heap, comprises: locating the first starting point in a graph-based depiction of the heap; identifying one or more roots stemming from the first starting point; incrementally walking along the one or more roots until a second slot is reached; determining whether the second slot is reachable; and responsive to determining that the second slot is reachable, incrementally walking along the one or more roots until another slot is reached. 10. The system of claim 9 , wherein the operation further comprises: incrementally walking along the one or more roots until a third slot is reached; determining whether the third slot is reachable; and responsive to determining that the third slot is reachable, identifying the second slot as a furthest slot reached. 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. 12. The computer program product of claim 11 , wherein analyzing the heap in the run-time environment using a first heap analysis, comprises: locating the fi
Event-based monitoring · CPC title
Dumping, i.e. gathering error/state information after a fault for later diagnosis · CPC title
in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00) · CPC title
Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.