8037459

Recovery from Nested Exceptions in an Instrumentation Routine

PublishedOctober 11, 2011
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
11 claims

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

1

1. A method of instrumentation for a software instruction, the method comprising: identifying a location in the instruction to insert a probe, wherein the probe is a breakpoint; replacing the instruction with the probe by copying the instruction to a predefined location; executing, by a processor, the instruction in a kernel space; generating a first exception upon encountering the probe and calling a first exception handler, wherein the first exception handler is configured to call an instrumentation routine; saving a system register state as part of the first exception; executing the first exception handler; saving register contents of a first trampoline prior to executing the instrumentation routine; generating a second exception when the instrumentation routine encounters an error and calling a second exception handler; and responsive to determining that the second exception is due to code of the instrumentation routine that was executed in a context of the first exception, returning from the second exception handler to a second trampoline instead of returning to the instrumentation routine that generated the exception; recovering from the first and second exceptions and returning a system to a sane state to continue normal execution of the instruction, wherein the second trampoline restores the system to the sane state.

2

2. The method of claim 1 , further comprising: associating the instrumentation routine to be executed upon encountering the probe.

3

3. The method of claim 2 , wherein the instrumentation routine enables a user to access relevant tracing or debugging information.

4

4. The method of claim 1 , wherein saving the register contents includes collecting essential debug information.

5

5. The method of claim 1 , wherein replacing the instruction with the probe further comprises flushing a processor cache if required.

6

6. A system comprising: a processor, a memory, a computer readable storage device coupled to the processor, and a software comprising instruction encoded in the computer readable storage device and executable by the processor causing the processor to: execute an instruction in a kernel space wherein a probe is inserted at an identified location of the instruction and the instruction is copied to a predefined location; generate a first exception upon encountering the probe and calling a first exception handler and the first exception handler is configured to call a instrumentation routine; save a system register state as part of the first exception; execute the first exception handler; save register contents of a first trampoline prior to executing the instrumentation routine; generate a second exception when an instrumentation routine encounters an error and calling a second exception handler; responsive to determining that the second exception is due to code of the instrumentation routine that was executed in a context of the first exception, return from the second exception handler to a second trampoline instead of returning to the instrumentation routine that generated the exception; and return the system to a sane state to continue normal execution of the instruction by recovering from the exceptions, wherein the second trampoline restores the system to the sane state.

7

7. The system of claim 6 , wherein the instrumentation routine is associated to be executed upon encountering the probe.

8

8. The system of claim 6 , wherein saving the register contents includes collecting essential debug information.

9

9. The system of claim 6 , wherein replacing the instruction with the probe further comprises flushing a processor cache if required.

10

10. A computer program product comprising a computer readable storage device having a computer readable program comprising software, wherein the computer readable program when executed on a computer causes the computer to: execute an instruction in a kernel space wherein a probe is inserted at an identified location of the instruction and the instruction is copied to a predefined location; generate a first exception upon encountering the probe, save a system register state as part of the first exception; execute a first exception handler; save register contents of a first trampoline [setjmp( )] prior to executing an instrumentation routine, and the first exception handler is configured to call the instrumentation routine; generate a second exception when the instrumentation routine encounters an error and calling a second exception handler; responsive to determining that the second exception is due to code of the instrumentation routine that was executed in a context of the first exception, return from the second exception handler to a second trampoline [longjmp( )] instead of returning to the instrumentation routine that generated the exception; and the second trampoline [longjmp( )] is configured to recover from the exceptions to continue normal execution of the instruction and return to the system to a sane state.

11

11. A method of instrumentation for software instructions that are executable on a processor of a device, the method comprising: executing the instruction in a kernel space wherein a probe is inserted at an identified location of the instruction and the instruction is copied to a predefined location; generating a first exception upon encountering the probe, saving a system register state as part of the first exception; executing a first exception handler; saving register contents of a first trampoline [setjmp( )] 0 prior to executing an instrumentation routine, and the first exception handler is configured to call the instrumentation routine; generating a second exception when the instrumentation routine encounters an error and calling a second exception handler; responsive to determining that the second exception is due to code of the instrumentation routine that was executed in a context of the first exception, returning from the second exception handler to a second trampoline [longjmp( )] instead of returning to the instrumentation routine that generated the exception; and returning the system to a sane state to continue normal execution of the instruction by recovering from the exceptions, wherein the second trampoline [longjmp( )] restores the system to the sane state.

Patent Metadata

Filing Date

Unknown

Publication Date

October 11, 2011

Inventors

Ananth Narayan Mavinakayanahalli
Prasanna S. Panchamukhi

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. “RECOVERY FROM NESTED EXCEPTIONS IN AN INSTRUMENTATION ROUTINE” (8037459). https://patentable.app/patents/8037459

© 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.