IP Library Granted Patent US 7,168,068
Granted Patent B2
US 7,168,068 · App. 10/114,793 · Granted Jan 23, 2007

Dynamic software code instrumentation method and system

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,168,068
App. No.
10/114,793
Granted
Jan 23, 2007
Kind
B2
Abstract

A method and system of monitoring code as it is executed by a target processor is provided for debugging, etc. Standardized software code function preamble and postamble instructions are dynamically replaced with instructions that will generate a predetermined exception. The exception generates a branch to a conventional exception vector table. An exception routine is inserted into the vector table, and includes instruction(s) to disable the data and/or address caches. Subsequent instructions in the vector table execute the replaced preamble instruction and, with or without re-enabling the cache, branch back to the address of the program code immediately following the faulted preamble address. Instructions of the function executed while cache is disabled are executed on the bus where they are visible, as opposed to within cache.

Claims (15)

1. A system comprising:

a target having a bus and a cache;

an emulator coupled to the target for monitoring software code being executed in the target, the emulator including:

an instruction locating module to search a range of addresses within the software code to identify a desired instruction;

an instruction replacement module to replace the desired instruction with an exception-generating instruction; and

a vector table instrumentation module to insert an exception routine into an exception vector table, the exception routine having a cache-disabling instruction and a branch instruction branching to an address of the software code disposed subsequent to the exception-generating instruction,

wherein the system adds no additional instructions to the software code being executed in the target.

2. The system of claim 1 , wherein the exception routine further comprises a cache re-enabling instruction.

3. The system of claim 1 , wherein the exception routine has a Data Cache-disabling instruction.

4. The system of claim 1 , wherein the exception routine has an Instruction Cache-disabling instruction.

5. The system of claim 1 , wherein the emulator is configured to effect a plurality of user-selectable operations selected from the group consisting of:

indicating entry and exit of a function;

indicating entry and exit of a function and tracing execution of a function;

indicating entry and exit of a function, tracing execution of the function, and indicating entry and exit and tracing execution of other functions called by the function; and

indicating Entry and Exit of a function, tracing execution of the function, and indicating Entry and Exit without tracing execution of other functions called by the function.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Dec 28, 2022
From: GUGGENHEIM CORPORATE FUNDING, LLC
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 062239/0590 →
PATENT SECURITY AGREEMENT Recorded Dec 24, 2018
From: WIND RIVER SYSTEMS, INC.
To: GUGGENHEIM CORPORATE FUNDING, LLC
Reel/Frame 049148/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NO. FROM "7,160,068" TO "7,168,068" PREVIOUSLY RECORDED ON REEL 045836 FRAME 0442. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Jun 14, 2018
From: WIND RIVER SYSTEMS, INC.
To: INTEL CORPORATION
Reel/Frame 046363/0840 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NO. 7160068 PREVIOUSLY RECORDED AT REEL: 045836 FRAME: 0494. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST . Recorded Jun 14, 2018
From: INTEL CORPORATION
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 046363/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2018
From: WIND RIVER SYSTEMS, INC.
To: INTEL CORPORATION
Reel/Frame 045836/0442 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2018
From: INTEL CORPORATION
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 045836/0494 →
MERGER Recorded Oct 18, 2004
From: EMBEDDED SUPPORT TOOLS CORP.
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 015888/0172 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2004
From: DAWSON, PETER S.
To: EMBEDDED SUPPORT TOOLS CORPORATION
Reel/Frame 015888/0130 →