Just-my-code debugging
AssigneeMicrosoft Corporation
InventorsJonathon Michael Stall, Michael M. Magruder
Life of this patent
Estimating the term…
Abstract
Systems and methods for Just-My-Code (JMC) debugging are described. In one aspect, debugging probes are automatically inserted into respective programming constructs representing interesting code. The debugging probes are inserted during computer computer-program compiling operations that generate native code. The native code is then executed as a process. The process includes one or more threads of execution that run-free through uninteresting code during a JMC step operation. A thread of the one or more threads is only halted in the interesting code when an active one of the debugging probes is encountered by the thread while the thread is JMC stepping through the process.
Claims33
A computer-readable medium comprising computer-program instructions for Just-My-Code (JMC) debugging, the computer-program instructions being executable by a processor for:
- automatically inserting debugging probes into respective programming constructs representing interesting code, the debugging probes being inserted during computer computer-program compiling operations to generate native code;
- and
- executing the native code as a process, the process comprising one or more threads of execution that run-free through uninteresting code during a JMC step operation, a thread of the one or more threads only being halted in the interesting code when an active one of the debugging probes is encountered by the thread while the thread is JMC stepping through the process.
A method for Just-My-Code (JMC) debugging, the method comprising:
- automatically inserting debugging probes into respective programming constructs representing interesting code, the debugging probes being inserted during computer computer-program compiling operations to generate native code;
- executing the native code as a process, the process comprising one or more threads of execution that run-free through uninteresting code during a JMC step operation, a thread of the one or more threads only being halted in the interesting code when an active one of the debugging probes is encountered by the thread while the thread is JMC stepping through the process;
- and
- wherein JMC stepping comprises a JMC step-in, a JMC step-out, or a JMC step-over operation.
A computing device for Just-My-Code (JMC) debugging, the computing device comprising:
- a processor;
- and
- a memory coupled to the processor, the memory comprising computer-program instructions executable by the processor for:
- automatically inserting debugging probes into respective programming constructs representing interesting code, the debugging probes being inserted during computer computer-program compiling operations to generate native code, the programming constructing comprising class methods and/or static functions;
- and
- executing the native code as a process, the process comprising one or more threads of execution that run-free through uninteresting code during a JMC step operation, a thread of the one or more threads only being halted in the interesting code when an active one of the debugging probes is encountered by the thread while the thread is JMC stepping through the process.
A computing device for Just-My-Code (JMC) debugging, the computing device comprising:
- means for automatically inserting debugging probes into respective programming constructs representing interesting code, the debugging probes being inserted during computer computer-program compiling operations to generate native code, the programming constructing comprising class methods and/or static functions;
- and
- means for executing the native code as a process, the process comprising one or more threads of execution that run-free through uninteresting code during a JMC step operation, a thread of the one or more threads only being halted in the interesting code when an active one of the debugging probes is encountered by the thread while the thread is JMC stepping through the process.
Dependencies are inferred from the claim text.