Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
Use el comando bl (Lista de puntos de interrupción) para enumerar los puntos de interrupción existentes y su estado actual.
Use el comando .bpcmds (Mostrar comandos de punto de interrupción) para enumerar todos los puntos de interrupción junto con los comandos que se usaron para crearlos.
Use el comando bp (Establecer punto de interrupción) para establecer un nuevo punto de interrupción.
Use el comando bu (Establecer punto de interrupción sin resolver) para establecer un nuevo punto de interrupción. Los puntos de interrupción que se establecen con bu se denominan puntos de interrupción sin resolver; tienen características diferentes a los puntos de interrupción que se establecen con bp. Para obtener detalles completos, consulte Puntos de interrupción sin resolver (bu Breakpoints).
Use el comando bm (Establecer punto de interrupción de símbolos) para establecer nuevos puntos de interrupción en símbolos que coincidan con un patrón especificado. Un punto de interrupción con bm se asociará a una dirección (como un punto de interrupción bp ) si se incluye el modificador /d ; no se resolverá (como un punto de interrupción bu ) si este modificador no está incluido.
Utilice el comando ba (Interrupción en acceso) para establecer un punto de interrupción del procesador, también conocido como punto de interrupción en datos. Estos puntos de interrupción se pueden desencadenar cuando se escribe en la ubicación de memoria, cuando se lee, cuando se ejecuta como código o cuando ocurre la entrada/salida del kernel. Para obtener detalles completos, consulte Puntos de interrupción del procesador (ba Breakpoints).
Use el comando bc (Breakpoint Clear) para quitar permanentemente uno o varios puntos de interrupción.
Use el comando bd (Breakpoint Disable) para deshabilitar temporalmente uno o varios puntos de interrupción.
Use el comando be (Breakpoint Enable) para volver a habilitar uno o varios puntos de interrupción deshabilitados.
Use el comando br (Breakpoint Renumber) para cambiar el identificador de un punto de interrupción existente.
Use el comando bs (Actualizar comando de punto de interrupción) para cambiar el comando asociado a un punto de interrupción existente.
Use el comando bsc (Actualizar punto de interrupción condicional) para cambiar la condición en la que se produce un punto de interrupción condicional existente.
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
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)