Debugging techniques in a multithreaded environment
AssigneeCray Inc.
InventorsGail A. Alverson, Burton J. Smith, Laurence S. Kaplan, Mark L. Niehaus
Life of this patent
Estimating the term…
Loading patent…
AssigneeCray Inc.
InventorsGail A. Alverson, Burton J. Smith, Laurence S. Kaplan, Mark L. Niehaus
Estimating the term…
A system for debugging targets using various techniques, some of which are particularly useful in a multithread environment. These techniques include implementing breakpoints using out-of-line instruction emulation so that an instruction replaced with a breakpoint instruction does not need to be returned to its original location for single-step execution, executing a debugger nub for each target as part of the target task but using a nub task thread for the nub execution that is separate from the target task threads, providing immunity from breakpoints for specified threads such as the nub thread via specialized breakpoint handlers used by those threads, and virtualizing the debugger nub such that a shared root nub provides a uniform interface between the debugger and the target while specialized nubs provide differing functionality based on the type of target being debugged.
A method for debugging a task executing on a computer system with a processor having multiple streams for executing threads of the task, the method comprising:
A computer-readable medium containing instructions for causing a computer system to debug a task executing on a computing device that has a processor with multiple streams for executing threads of the task, by:
A computer system including components to debug a task executing on multiple processor streams each executing a thread of the task, comprising:
A computer-implemented method for debugging an executing target program using a debugger nub, the target program having multiple software threads each able to execute without halting execution of the other threads, the method comprising:
A computer-readable medium whose contents cause a computing device to debug a target program having multiple software threads each able to execute without halting execution of the other threads, by:
A computing device for debugging an executing target program having multiple software threads each able to execute without halting execution of the other threads, comprising:
A computing device for debugging an executing target program having multiple software threads each able to execute without halting execution of the other threads, comprising:
A computer-implemented method for debugging an executing target program using a debugger nub, the target program having multiple software threads each able to execute without halting execution of the other threads and having at least one breakpoint set in such a manner that encountering the breakpoint causes a break to occur, the method comprising:
A computer-readable medium whose contents cause a computing device to debug a target program having multiple software threads each able to execute without halting execution of the other threads, the executing target program having at least one breakpoint set in such a manner that encountering the breakpoint causes a break to occur, by:
A computing device for debugging an executing target program having multiple software threads each able to execute without halting execution of the other threads, the executing target program having at least one breakpoint set in such a manner that encountering the breakpoint causes a break to occur, comprising:
A computer-implemented method for debugging multiple executing tasks by using debugger nubs, the tasks each having multiple software threads executing on a first computer having multiple processors and each having at least one breakpoint set in such a manner that encountering the breakpoint causes a break to occur, the processors each having multiple protection domains that are each able to execute one of the multiple tasks and each having multiple hardware streams each able to execute at least one of the software threads, the method comprising:
Dependencies are inferred from the claim text.