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.
Un sistema para eliminar errores apunta con las varias técnicas, algunas de las cuales son particularmente útiles en un ambiente multithread. Estas técnicas incluyen poner límites de facturación en ejecucio'n usando la emulación en desacuerdo de la instrucción de modo que una instrucción substituida por una instrucción de límite de facturación no necesite ser vuelta a su localización original para la ejecución single-step, ejecutando un pedazo de la depuración para cada blanco como parte de la tarea de la blanco pero usar un hilo de rosca de la tarea del pedazo para la ejecución del pedazo que está a parte de la tarea de la blanco rosca, el abastecimiento de inmunidad de los límites de facturación para los hilos de rosca especificados tales como el hilo de rosca del pedazo vía los tratantes especializados del límite de facturación usados por esos hilos de rosca, y virtualizing el pedazo de la depuración tales que que un pedazo compartido de la raíz proporciona un interfaz uniforme entre la depuración y la blanco mientras que los pedazos especializados proporcionan la funcionalidad que diferencia basada en el tipo de blanco que es eliminada errores.