.bpcmds (Visualizza comandi punti di interruzione)

Il comando bpcmds visualizza i comandi usati per impostare ognuno dei punti di interruzione correnti.

    .bpcmds

Ambiente

Elemento Descrizione
Modalità Modalità utente, modalità kernel
Targets Dump live, arresto anomalo
Piattaforme Tutti

Informazioni aggiuntive

Per altre informazioni su ed esempi di come usare punti di interruzione, altri comandi e metodi di punto di interruzione per controllare i punti di interruzione, vedere Uso di punti di interruzione.

Commenti

Se non è chiaro se un particolare punto di interruzione è impostato a un indirizzo, a un riferimento simbolico o a un simbolo, usare il comando bpcmds per visualizzare il comando punto di interruzione usato per crearlo. Il comando usato per creare un punto di interruzione determina la sua natura:

  • Il comando bp (Set Breakpoint) imposta un punto di interruzione in un indirizzo.

  • Il comando bu (Set Unresolved Breakpoint) imposta un punto di interruzione su un riferimento simbolico.

  • Il comando bm (Set Symbol Breakpoint) imposta un punto di interruzione sui simboli che corrispondono a un modello specificato. Se l'opzione /d è inclusa, crea zero o più punti di interruzione sugli indirizzi (ad esempio bp), altrimenti crea zero o più punti di interruzione sui riferimenti simbolici (ad esempio bu).

  • Il comando ba (Break on Access) imposta un punto di interruzione dei dati in un indirizzo.

L'output di .bpcmds riflette la natura corrente di ogni punto di interruzione. Ogni riga della visualizzazione con estensione bpcmds inizia con il comando usato per crearlo (bp, bu o ba) seguito dall'ID punto di interruzione e quindi dalla posizione del punto di interruzione.

Se il punto di interruzione è stato creato da ba, viene visualizzato anche il tipo di accesso e le dimensioni.

Se il punto di interruzione è stato creato da bm senza l'opzione /d , la visualizzazione indica il tipo di punto di interruzione come bu, seguito dal simbolo valutato racchiuso nel token @!"" (che indica che è un simbolo letterale e non un'espressione numerica o un registro). Se il punto di interruzione è stato creato da bm con l'opzione /d , la visualizzazione indica il tipo di punto di interruzione come bp.

Esempio:

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 ;

In questo esempio si noti che l'output di .bpcmds inizia con il comando pertinente ("bu", "bp" o "ba"), seguito dal numero di punto di interruzione (senza spazio di intervento).

Si noti che poiché il numero di punti di interruzione 0 è stato originariamente impostato usando bp e quindi è stato ridefinito usando bu, la visualizzazione mostra il suo tipo come "bu".

Si noti anche che i punti di interruzione 3, 4 e 5, creati dai comandi bm illustrati in questo esempio, vengono visualizzati come tipo "bp" o tipo "bu", a seconda che l'opzione /d sia stata inclusa quando è stato usato il bm .