.bpcmds (Mostrar comandos de punto de interrupción)
El comando .bpcmds muestra los comandos que se usaron para establecer cada uno de los puntos de interrupción actuales.
.bpcmds
Entorno
Elemento | Descripción |
---|---|
Modos | Modo de usuario, modo kernel |
Targets | Volcado de memoria activo y de memoria |
Plataformas | Todo |
Información adicional
Para obtener más información sobre y ejemplos de cómo usar puntos de interrupción, otros comandos y métodos de punto de interrupción para controlar puntos de interrupción, vea Uso de puntos de interrupción.
Comentarios
Si no está claro si un punto de interrupción determinado se establece en una dirección, en una referencia simbólica o en un símbolo, use el comando .bpcmds para mostrar qué comando de punto de interrupción se usó para crearlo. El comando que se usó para crear un punto de interrupción determina su naturaleza:
El comando bp (Establecer punto de interrupción) establece un punto de interrupción en una dirección.
El comando bu (Establecer punto de interrupción sin resolver) establece un punto de interrupción en una referencia simbólica.
El comando bm (Establecer punto de interrupción de símbolos) establece un punto de interrupción en símbolos que coinciden con un patrón especificado. Si se incluye el modificador /d , crea cero o más puntos de interrupción en direcciones (como bp), de lo contrario, crea cero o más puntos de interrupción en referencias simbólicas (como bu).
El comando ba (Interrumpir en access) establece un punto de interrupción de datos en una dirección.
La salida de .bpcmds refleja la naturaleza actual de cada punto de interrupción. Cada línea de la presentación .bpcmds comienza con el comando usado para crearlo (bp, bu o ba) seguido del identificador del punto de interrupción y, a continuación, la ubicación del punto de interrupción.
Si ba creó el punto de interrupción , también se muestran el tipo de acceso y el tamaño.
Si el punto de interrupción se creó mediante bm sin el modificador /d , la pantalla indica el tipo de punto de interrupción como bu, seguido del símbolo evaluado incluido en el token @!"" (que indica que es un símbolo literal y no una expresión numérica o un registro). Si el punto de interrupción se creó mediante bm con el modificador /d , la pantalla indica el tipo de punto de interrupción como bp.
Este es un ejemplo:
0:000> bp notepad!winmain
0:000> .bpcmds
bp0 0x00000001`00003340 ;
0:000> bu myprog!winmain
breakpoint 0 redefined
0:000> .bpcmds
bu0 notepad!winmain;
0:000> bu myprog!LoadFile
0:000> bp myprog!LoadFile+10
0:000> bm myprog!openf*
3: 00421200 @!"myprog!openFile"
4: 00427800 @!"myprog!openFilter"
0:000> bm /d myprog!closef*
5: 00421600 @!"myprog!closeFile"
0:000> ba r2 myprog!LoadFile+2E
0:000> .bpcmds
bu0 notepad!winmain;
bu1 notepad!LoadFile;
bp2 0x0042cc10 ;
bu3 @!"myprog!openFile";
bu4 @!"myprog!openFilter";
bp5 0x00421600 ;
ba6 r2 0x0042cc2e ;
En este ejemplo, observe que la salida de .bpcmds comienza con el comando pertinente ("bu", "bp" o "ba"), seguido del número de punto de interrupción (sin espacio intermedio).
Observe que, dado que el número de punto de interrupción 0 se estableció originalmente mediante bp y luego se redefinió mediante bu, la pantalla muestra su tipo como "bu".
Observe también que los puntos de interrupción 3, 4 y 5, creados por los comandos bm mostrados en este ejemplo, se muestran como tipo "bp" o tipo "bu", dependiendo de si el modificador /d se incluyó cuando se usó bm .