.bpcmds (comandos de ponto de interrupção de exibição)
O comando .bpcmds exibe os comandos que foram usados para definir cada um dos pontos de interrupção atuais.
.bpcmds
Ambiente
Item | Descrição |
---|---|
Modos | Modo de usuário, modo kernel |
Destinos | Ao vivo, despejo de memória |
Plataformas | Tudo |
Informações adicionais
Para obter mais informações sobre e exemplos de como usar pontos de interrupção, outros comandos de ponto de interrupção e métodos de controle de pontos de interrupção, consulte Usando pontos de interrupção.
Comentários
Se não estiver claro se um ponto de interrupção específico está definido em um endereço, em uma referência simbólica ou em um símbolo, use o comando .bpcmds para mostrar qual comando de ponto de interrupção foi usado para criá-lo. O comando usado para criar um ponto de interrupção determina sua natureza:
O comando bp (Definir Ponto de Interrupção) define um ponto de interrupção em um endereço.
O comando bu (Definir Ponto de Interrupção Não Resolvido) define um ponto de interrupção em uma referência simbólica.
O comando bm (Definir Ponto de Interrupção de Símbolo) define um ponto de interrupção em símbolos que correspondem a um padrão especificado. Se a opção /d estiver incluída, ela criará zero ou mais pontos de interrupção em endereços (como bp), caso contrário, ele criará zero ou mais pontos de interrupção em referências simbólicas (como bu).
O comando ba (Interromper no Access) define um ponto de interrupção de dados em um endereço.
A saída de .bpcmds reflete a natureza atual de cada ponto de interrupção. Cada linha da exibição .bpcmds começa com o comando usado para criá-lo (bp, bu ou ba) seguido pela ID do ponto de interrupção e, em seguida, o local do ponto de interrupção.
Se o ponto de interrupção tiver sido criado por ba, o tipo de acesso e o tamanho também serão exibidos.
Se o ponto de interrupção foi criado por bm sem a opção /d , a exibição indica o tipo de ponto de interrupção como bu, seguido pelo símbolo avaliado incluído no token @!"" (que indica que é um símbolo literal e não uma expressão numérica ou registro). Se o ponto de interrupção tiver sido criado por bm com a opção /d , a exibição indicará o tipo de ponto de interrupção como bp.
Veja um exemplo:
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 ;
Neste exemplo, observe que a saída de .bpcmds começa com o comando relevante ("bu", "bp" ou "ba"), seguido pelo número do ponto de interrupção (sem espaço intermediário).
Observe que, como o número do ponto de interrupção 0 foi originalmente definido usando bp e, em seguida, foi redefinido usando bu, a exibição mostra seu tipo como "bu".
Observe também que os pontos de interrupção 3, 4 e 5, que foram criados pelos comandos bm mostrados neste exemplo, são exibidos como tipo "bp" ou tipo "bu", dependendo se o comutador /d foi incluído quando bm foi usado.