7249349

Uninstrumenting In-Line Code Instrumentation On-The-Fly

PublishedJuly 24, 2007
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
15 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method of reverting a process in an in-line instrumented state to an uninstrumented state, said method comprising: receiving a child process having inherited an instrumented parent process' context including the parent's program text that may have been modified by instrumentation resulting in an instrumented code space; modifying text segment portions selected from said child process resulting in an uninstrumented code space that is an uninstrumented version of said instrumented code space; unmapping said instrumented code space such that said instrumented code space is inaccessible to said child process; provided an instruction pointer resides in said instrumented code space, updating said instruction pointer to point to said uninstrumented code space; and executing said child process and, provided said child process generates a fault by seeking to access an address in said instrumented code space which is inaccessible due to being unmapped, providing an address in said uninstrumented code space that corresponds to said address in said instrumented code.

2

2. The computer-implemented method for reverting a process in an in-line instrumented state to an uninstrumented state as recited in claim 1 wherein said selected text segment portions are selected from the group consisting of: breakpoints, branches, switch tables, procedure lookup tables (PLTs) for said instrumented code space.

3

3. The computer-implemented method for reverting a process in an in-line instrumented state to an uninstrumented state as recited in claim 1 wherein said instrumented code space is comprised of shared memory.

4

4. The computer-implemented method for reverting a process in an in-line instrumented state to an uninstrumented state as recited in claim 1 further comprising: unwinding a call stack of said child process and recording return addresses of said child process.

5

5. The computer-implemented method for reverting a process in an in-line instrumented state to an uninstrumented state as recited in claim 4 further comprising: comparing said return addresses of said child process to said address in said instrumented code space which generated said fault upon execution of said child process.

6

6. A computer-readable storage medium embodying instructions that cause a computer to perform a method for reverting a process in an in-line instrumented state to an uninstrumented state, the method comprising: receiving a child process having inherited an instrumented parent process'context including the parent's program text that may have been modified by instrumentation resulting in an instrumented code space; modifying text segment portions selected from said child process resulting in an uninstrumented code space that is an uninstrumented version of said instrumented code space; unmapping said instrumented code space such that said instrumented code space is inaccessible to said child process; provided an instruction pointer resides in said instrumented code space, updating said instruction pointer to point to said uninstrumented code space; and executing said child process and, provided said child process generates a fault by seeking to access an address in said instrumented code space which is inaccessible due to being unmapped, providing an address in said uninstrumented code space that corresponds to said address in said instrumented code.

7

7. The computer-readable medium of claim 6 wherein said selected text segment portions are selected from the group consisting of: breakpoints, branches, switch tables, procedure lookup tables (PLTs) for said instrumented code space.

8

8. The computer-readable medium of claim 6 wherein said instrumented code space is comprised of shared memory.

9

9. The computer-readable medium of claim 6 wherein said instructions further cause said computer to: unwind a call stack of said child process and record return addresses of said child process.

10

10. The computer-readable medium of claim 9 wherein said instructions further cause said computer to: compare said return addresses of said child process to said address in said instrumented code space which generated said fault upon execution of said child process.

11

11. An apparatus, having a processor, for reverting a process in an in-line instrumented state to an uninstrumented state, the apparatus comprising: means for receiving a child process having inherited an instrumented parent process' context including the parent's program text that may have been modified by instrumentation resulting in an instrumented code space; means for modifying text segment portions selected from said child process resulting in an uninstrumented code space that is an uninstrumented version of said instrumented code space; means for unmapping said instrumented code space such that said instrumented code space is inaccessible to said child process; means for updating an instruction pointer to point to said uninstrumented code space provided said instruction pointer resides in said instruction code space; and means for executing said child process and, provided said child process generates a fault by seeking to access an address in said instrumented code space which is inaccessible due to being unmapped, providing an address in said uninstrumented code space that corresponds to said address in said instrumented code.

12

12. The apparatus of claim 11 wherein said selected text segment portions are selected from the group consisting of: breakpoints, branches, switch tables, procedure lookup tables (PLTs) for said instrumented code space.

13

13. The apparatus of claim 11 wherein said instrumented code space is comprised of shared memory.

14

14. The apparatus of claim 11 further comprising: means for unwinding a call stack of said child process and recording return addresses of said child process.

15

15. The apparatus of claim 14 further comprising: means for comparing said return addresses of said child process to said address in said instrumented code space which generated said fault upon execution of said child process.

Patent Metadata

Filing Date

Unknown

Publication Date

July 24, 2007

Inventors

Robert Hundt
David John Babcock

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “UNINSTRUMENTING IN-LINE CODE INSTRUMENTATION ON-THE-FLY” (7249349). https://patentable.app/patents/7249349

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.