Share via


Puntos de interrupción no resueltos (bu Puntos de interrupción)

Si se establece un punto de interrupción para un nombre de rutina que no se ha cargado, el punto de interrupción se denomina punto de interrupción diferido, virtual o no resuelto . (Estos términos se usan indistintamente). Los puntos de interrupción sin resolver no están asociados a ninguna carga específica de un módulo. Cada vez que se carga una nueva aplicación, se comprueba este nombre de rutina. Si aparece esta rutina, el depurador calcula la dirección codificada real del punto de interrupción virtual y habilita el punto de interrupción.

Si establece un punto de interrupción mediante el comando bu , el punto de interrupción se considera automáticamente sin resolver. Si este punto de interrupción está en un módulo cargado, el punto de interrupción todavía está habilitado y funciona normalmente. Sin embargo, si el módulo se descarga y se vuelve a cargar más adelante, este punto de interrupción no desaparece. Por otro lado, un punto de interrupción establecido con bp se resuelve inmediatamente en una dirección.

Hay tres diferencias principales entre los puntos de interrupción bp y los puntos de interrupción bu :

  • Una ubicación de punto de interrupción bp siempre se convierte en una dirección. Si un cambio de módulo mueve el código en el que se estableció un punto de interrupción bp , el punto de interrupción permanece en la misma dirección. Por otro lado, un punto de interrupción bu permanece asociado con el valor simbólico (normalmente un símbolo más un desplazamiento) que se usó y realiza un seguimiento de esta ubicación simbólica incluso si su dirección cambia.

  • Si se encuentra una dirección de punto de interrupción bp en un módulo cargado y, si ese módulo se descarga más adelante, el punto de interrupción se quita de la lista de puntos de interrupción. Por otro lado, los puntos de interrupción bu persisten después de descargas y cargas repetidas.

  • Los puntos de interrupción establecidos con bp no se guardan en áreas de trabajo de WinDbg. Los puntos de interrupción establecidos con bu se guardan en áreas de trabajo.

Controlar puntos de interrupción de direcciones y puntos de interrupción no resueltos

Los puntos de interrupción de dirección se pueden crear con el comando bp (Establecer punto de interrupción) o el comando bm (Establecer punto de interrupción de símbolos) cuando se incluye el modificador /d . Los puntos de interrupción sin resolver se pueden crear con el comando bu (Establecer punto de interrupción sin resolver) o el comando bm cuando no se incluye el modificador /d . Los comandos que deshabilitan, habilitan y modifican puntos de interrupción se aplican a todo tipo de puntos de interrupción. Los comandos que muestran una lista de puntos de interrupción incluyen todos los puntos de interrupción e indican el tipo de cada uno. Para obtener una lista de estos comandos, vea Métodos de control de puntos de interrupción.

El cuadro de diálogo Puntos de interrupción de WinDbg muestra todos los puntos de interrupción, lo que indica puntos de interrupción sin resolver con la notación "u". Este cuadro de diálogo se puede usar para modificar cualquier punto de interrupción. El cuadro de texto Comando de este cuadro de diálogo se puede usar para crear cualquier tipo de punto de interrupción; si se omite el tipo, se crea un punto de interrupción sin resolver. Para obtener más información, consulte Editar | Puntos de interrupción. Al establecer un punto de interrupción mediante el mouse en la ventana Desensamblado de WinDbg o en la ventana Origen, el depurador crea un punto de interrupción sin resolver.