IP Library Granted Patent US 6,965,978
Granted Patent B2
US 6,965,978 · App. 10/438,671 · Granted Nov 15, 2005

Memory tracking tool

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,965,978
App. No.
10/438,671
Granted
Nov 15, 2005
Kind
B2
Abstract

A method, medium, and computer-program product is provided for tracking memory-usage characteristics of an application. The invention includes a suite of tools to evaluate memory usage of uninstrumented binaries by tracking memory allocations, de-allocations, and in-memory-presence attributes at the module level. Memory-manipulation function calls (not limited to allocations and deallocations) are hijacked to code segments that annotate and log then-current memory characteristics. Processing is reverted back to its from-hijacked position and allowed to continue. In-memory presence of allocated memory and labels for certain points at time are tracked as well. The tracked data is logged so that algorithms can be run to extract desired information, which can be presented in various reports.

Claims (15)

1. A memory-tracking application that evaluates memory usage of a target application that may include a plurality of modules, said memory-tracking application comprising:

a tracking component that enables said target application to have its memory usage tracked and wherein said tracking component enables tracking of uninstrumented binary code;

a controlling component that creates log of said memory usage;

an execution component that communicates with said tracking component and said controlling component to direct an examination of memory-usage characteristics of said target application; and

a parsing component that parses said log to create memory-usage reports.

2. The memory-tracking application of claim 1 , wherein tracking said uninstrumented binary code comprises tracking memory manipulations.

3. The memory-tracking application of claim 2 , wherein memory manipulations include memory allocations, deallocations and in-physical-memory presence attributes.

4. The memory-tracking application of claim 1 , wherein said controlling component comprises an annotating component that provides labels related to specific execution points.

5. The memory-tracking application of claim 1 , wherein said reports comprise one or more of the following:

a per-module report of memory usage at certain point in time for memory allocations made by or on behalf of one or more of said modules;

a per-module report of memory usage over time for memory allocations made by or on behalf of one or more of said modules;

a first report depicting one or more stacks by number of appearances;

a second report depicting a hierarchy of functions ordered by frequency of calls that manipulate memory;

a third report depicting memory-usage behavior of said application; and

a peak-allocation report.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →