IP Library Granted Patent US 7,861,230
Granted Patent B2
US 7,861,230 · App. 11/420,056 · Granted Dec 28, 2010

Profiling API shims

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 7,861,230
App. No.
11/420,056
Granted
Dec 28, 2010
Kind
B2
Abstract

A method and system for profiling API shims is described herein. The system includes a profiler, a profiling application program interface (API), and a profiling shim. The profiling shim intercepts communications between the profiler and the profiling API. Calls from and to the profiler are chained through the profiling shim. The profiling shim may further log calls to functions from and to the profiler and/or validate the profiler's usage of the profiling API.

Claims (28)

1. A method implemented at least in part by one or more processing devices comprising:

intercepting communications between a first profiler and a profiling application program interface (API) via a second profiler, wherein the second profiler is attached to the first profiler;

logging calls to functions from and to the first profiler;

chaining the calls from and to the first profiler through the second profiler;

utilizing the second profiler to validate use of the profiling API by the first profiler; and

launching a program with the second profiler registered as the program's profiler and attaching the first profiler to the second profiler after launching the program with the second profiler registered as the program's profiler.

2. The method of claim 1 , wherein the second profiler includes a callback interface.

3. The method of claim 1 , wherein the second profiler includes an information interface.

4. The method of claim 1 , further comprising utilizing the second profiler to measure overhead of the first profiler based on the logged calls.

5. The method of claim 1 , further comprising utilizing the second profiler to determine how the first profiler uses the profiling API based on the logged calls.

6. The method of claim 1 , wherein utilizing the second profiler to validate the first profiler's usage of the profiling API comprises changing a behavior of individual functions of the profiling API for debugging.

7. A system comprising:

a profiler one or more processing devices;

a profiling application program interface (API) to expose one or more functions in a managed execution environment implemented at least in part by the one or more processing devices; and

a profiling shim configured to:

attach to the profiler and chain calls to individual functions from and to the profiler; and

validate the profiler's usage of the profiling API by changing a behavior of one or more functions of the profiling API for debugging.

8. The system of claim 7 , wherein the profiling shim is further configured to log the calls to the individual functions from and to the profiler.

9. The system of claim 7 , wherein the profiling shim includes a callback interface.

10. The system of claim 7 , wherein the profiling shim includes an information interface.

11. One or more device-readable storage media with device-executable instructions stored thereon which cause a device to perform steps comprising:

launching a program with a first profiler, wherein the first profiler comprises a profiling shim registered as the program's profiler;

attaching a second profiler to the first profiler while the program is running;

intercepting, via the profiling shim, communications associated with the program, the communications being between the second profiler and a profiling application program interface (API); and

utilizing the profiling shim to change a behavior of a function of the profiling API for debugging.

12. The one or more device-readable storage media of claim 11 , further comprising utilizing the profiling shim to validate the second profiler's usage of the profiling API by detecting one or more call sequences.

13. The one or more device-readable storage media of claim 11 , further comprises utilizing the profiling shim to validate the second profiler's usage of the profiling API by detecting use of incorrect parameters.

14. The one or more device-readable storage media of claim 11 , wherein the steps further include utilizing the profiling shim to log individual functions that are called.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2006
From: KELJO, JONATHAN W.
To: MICROSOFT CORPORATION
Reel/Frame 017824/0920 →