Filtering multiple in-memory trace buffers for event ranges before dumping from memory
US-2016147653-A1 · May 26, 2016 · US
US9983914B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9983914-B2 |
| Application number | US-201514708490-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 11, 2015 |
| Priority date | May 11, 2015 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 2018 |
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.
This application discloses a computing system configured to request that an operating system implemented by the computing system allocate a virtual address space, which is designated for use by an application implemented by the computing system, to a memory verification tool implemented by the computing system. The computing system is configured to utilize the virtual address space to form a memory pool having multiple protectable slots available for allocation to the application. The computing system is further configured to intercept a memory allocation request issued by the application to the operating system of the computing system, and allocate at least one of the protectable slots in the memory pool to the application in response to the intercepted memory allocation request.
Opening claim text (preview).
The invention claimed is: 1. A method comprising: requesting, by a memory verification tool implemented by a computing system, that an operating system implemented by the computing system allocate a virtual address space to the memory verification tool, wherein the virtual address space is designated for use by an application implemented by the computing system; utilizing, by the memory verification tool implemented by the computing system, the virtual address space to form a memory pool having multiple protectable slots available for allocation to the application; intercepting, by the memory verification tool implemented by the computing system, a memory allocation request issued by the application to the operating system of the computing system; and allocating, by the memory verification tool implemented by the computing system, at least one of the protectable slots in the memory pool to the application in response to the intercepted memory allocation request. 2. The method of claim 1 , further comprising setting, by the memory verification tool implemented by the computing system, memory access protection on unallocated protectable slots in the memory pool, wherein the memory access protection is configured to cause the computing system to trigger an exception in response to a memory access by the application to the unallocated protectable slots in the memory pool. 3. The method of claim 1 , wherein the memory pool arranges the protectable slots in a first-in-first-out format for allocation to the application. 4. The method of claim 1 , further comprising: intercepting, by the memory verification tool implemented by the computing system, a memory de-allocation request issued by the application to the operating system of the computing system; and returning, by the memory verification tool implemented by the computing system, the at least one of the protectable slots back to the memory pool controlled by the memory verification tool in response to the intercepted memory de-allocation request. 5. The method of claim 4 , wherein de-allocating the at least one of the protectable slots in the memory pool from the application further comprises releasing addresses in a physical memory of the computing system associated with the at least one of the protectable slots. 6. The method of claim 1 , wherein each protectable slot, when allocated to the application implemented by the computing system, includes at least one data page corresponding to addresses in a physical memory of the computing system that are capable of being accessed by the application, and includes at least one guard page that does not correspond to addresses in the physical memory. 7. The method of claim 1 , wherein allocating at least one of the protectable slots in the memory pool to the application further comprises requesting the computing system allocate addresses in a physical memory of the computing system associated with the at least one of the protectable slots. 8. A system comprising: a memory system configured to store computer-executable instructions; and a computing system, in response to execution of the computer-executable instructions, is configured to: request that an operating system implemented by the computing system allocate a virtual address space to a memory verification tool implemented by the computing system, wherein the virtual address space is designated for use by an application implemented by the computing system; utilize, by the memory verification tool, the virtual address space to form a memory pool having multiple protectable slots available for allocation to the application; intercept, by the memory verification tool, a memory allocation request issued by the application to the operating system of the computing system; and allocate, by the memory verification tool, at least one of the protectable slots in the memory pool to the application in response to the intercepted memory allocation request. 9. The system of claim 8 , wherein the computing system, in response to execution of the computer-executable instructions, is further configured to set memory access protection on unallocated protectable slots in the memory pool, wherein the memory access protection is configured to cause the computing system to trigger an exception in response to a memory access by the application to the unallocated protectable slots in the memory pool. 10. The system of claim 8 , wherein the memory pool arranges the protectable slots in a first-in-first-out format for allocation to the application. 11. The system of claim 8 , wherein the computing system, in response to execution of the computer-executable instructions, is further configured to: intercept a memory de-allocation request issued by the application to the operating system of the computing system; and return the at least one of the protectable slots back to the memory pool controlled by the memory verification tool in response to the intercepted memory de-allocation request. 12. The system of claim 11 , wherein returning the at least one of the protectable slots back to the memory pool further comprises releasing addresses in a physical memory associated with the at least one of the protectable slots. 13. The system of claim 8 , wherein each protectable slot, when allocated to the application implemented by the computing system, includes at least one data page corresponding to addresses in a physical memory of the computing system that are capable of being accessed by the application, and includes at least one guard page that does not correspond to addresses in the physical memory. 14. An apparatus comprising at least one computer-readable memory device storing instructions configured to cause one or more processing devices to perform operations comprising: requesting that an operating system implemented by the one or more processing devices allocate a virtual address space to a memory verification tool implemented by the one or more processing devices, wherein the virtual address space is designated for use by an application implemented by the computing system; utilizing, by the memory verification tool, the virtual address space to form a memory pool having multiple protectable slots available for allocation to the application; intercepting, by the memory verification tool, a memory allocation request issued by the application to the operating system of the one or more processing devices; and allocating, by the memory verification tool, at least one of the protectable slots in the memory pool to the application in response to the intercepted memory allocation request. 15. The apparatus of claim 14 , wherein the instructions are configured to cause the one or more processing devices to perform operations further comprising setting memory access protection on unallocated protectable slots in the memory pool, and wherein the memory access protection is configured to cause the one or more processing devices to trigger an exception in response to a memory access by the application to the unallocated protectable slots in the memory pool. 16. The apparatus of claim 14 , wherein the memory pool arranges the protectable slots in a first-in-first-out format for allocation to the application. 17. The apparatus of claim 14 , wherein the instructions are configured to cause the one or more processing devices to perform operations further comprising: intercepting, by the memory verification tool implemented by the computing system, a memory de-allocation request issued by the application to the operating system of the computing system; and re
using diagnostics (G06F11/0703 takes precedence) · CPC title
Responding to the occurrence of a fault, e.g. fault tolerance · CPC title
Performance evaluation by tracing or monitoring · CPC title
where the computing system component is a memory, e.g. virtual memory, cache (accessing, addressing or allocating within memory systems or architectures G06F12/00; checking stores for correct operation G11C29/00) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.