Compartir a través de


Métodos de control de puntos de interrupción

Un punto de interrupción es una ubicación en el código ejecutable en el que el sistema operativo detiene la ejecución y se divide en el depurador. Esto le permite analizar el destino y emitir comandos del depurador.

Puede especificar la ubicación de un punto de interrupción por dirección virtual, desplazamientos de módulo y rutina, o archivo de origen y número de línea (cuando está en modo de origen). Si coloca un punto de interrupción en una rutina sin desplazamiento, el punto de interrupción se activa cuando se introduce esa rutina.

Hay varios tipos adicionales de puntos de interrupción:

  • Un punto de interrupción se puede asociar a un determinado hilo.

  • Un punto de interrupción puede habilitar un número fijo de pasos a través de una dirección antes de que se desencadene.

  • Un punto de interrupción puede emitir automáticamente determinados comandos cuando se desencadena.

  • Un punto de interrupción se puede establecer en la memoria no ejecutable para observar cuando esa ubicación sea leída o escrita.

Si está depurando más de un proceso en modo de usuario, el conjunto de puntos de interrupción depende del proceso actual. Para ver o cambiar los puntos de interrupción de un proceso, debe seleccionar el proceso como proceso actual. Para obtener más información sobre el proceso actual, consulte Control de procesos y subprocesos.

Comandos del depurador para gestionar y mostrar puntos de interrupción

Para controlar o mostrar puntos de interrupción, puede usar los métodos siguientes:

En WinDbg, hay varios elementos de interfaz de usuario que facilitan el control y la visualización de puntos de interrupción. Consulta Establecer puntos de interrupción en WinDbg (clásico).

Cada punto de interrupción tiene un número decimal denominado identificador de punto de interrupción asociado. Este número identifica el punto de interrupción en varios comandos.

Comandos de punto de interrupción

Puede incluir un comando en un punto de interrupción que se ejecuta automáticamente cuando se alcanza el punto de interrupción. Por ejemplo, el comando siguiente se interrumpe en MyFunction+0x47, escribe un archivo de volcado de memoria y, a continuación, reanuda la ejecución.

0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g" 

Nota Si controla el depurador en modo usuario desde el depurador del núcleo, no use g (Go) en la cadena de comandos del breakpoint. Es posible que la interfaz serie no pueda mantenerse al día con este comando y no podrá volver a acceder a la CDB. Para obtener más información sobre esta situación, vea Controlar el depurador de User-Mode desde el depurador de kernel.

Número de puntos de interrupción

En el modo kernel, puede usar un máximo de 32 puntos de interrupción de software. En el modo de usuario, puede usar un número ilimitado de puntos de interrupción de software.

El número de puntos de interrupción de procesador admitidos depende de la arquitectura del procesador de destino.

Puntos de interrupción condicionales

Puede establecer un punto de interrupción que se desencadene solo en determinadas condiciones. Para obtener más información sobre estos tipos de puntos de interrupción, vea Establecer un punto de interrupción condicional.

Puntos de interrupción ambiguos

En la versión 10.0.25310.1001 y posteriores del motor del depurador, se admite ahora la resolución ambigua de puntos de interrupción. Los puntos de interrupción ambiguos permiten al depurador establecer puntos de interrupción en determinados escenarios en los que una expresión de punto de interrupción se resuelve en varias ubicaciones. Para obtener más información, vea Resolución ambigua de puntos de interrupción.

Consulte también

Uso de puntos de interrupción

Sintaxis de punto de interrupción

bp, bu, bm (Establecer punto de interrupción)

Puntos de interrupción sin resolver (puntos de interrupción bu)