Condividi tramite


Metodi di controllo dei punti di interruzione

È possibile specificare il percorso di un punto di interruzione in base all'indirizzo virtuale, agli offset di modulo e routine oppure al file di origine e al numero di riga (in modalità di origine). Se si inserisce un punto di interruzione in una routine senza offset, il punto di interruzione viene attivato quando viene immessa tale routine.

Esistono diversi tipi aggiuntivi di punti di interruzione:

  • Un punto di interruzione può essere associato a un determinato thread.

  • Un punto di interruzione può abilitare un numero fisso di passaggi attraverso un indirizzo prima che venga attivato.

  • Un punto di interruzione può eseguire automaticamente determinati comandi quando viene attivato.

  • È possibile impostare un punto di interruzione sulla memoria non eseguibile e watch affinché tale posizione venga letta o scritta in .

Se si esegue il debug di più processi in modalità utente, la raccolta di punti di interruzione dipende dal processo corrente. Per visualizzare o modificare i punti di interruzione di un processo, è necessario selezionare il processo come processo corrente. Per altre informazioni sul processo corrente, vedere Controllo di processi e thread.

Comandi del debugger per il controllo e la visualizzazione di punti di interruzione

Per controllare o visualizzare punti di interruzione, è possibile utilizzare i metodi seguenti:

In WinDbg sono disponibili diversi elementi dell'interfaccia utente che facilitano il controllo e la visualizzazione dei punti di interruzione. Vedere Impostazione dei punti di interruzione in WinDbg (versione classica).

A ogni punto di interruzione è associato un numero decimale denominato ID punto di interruzione. Questo numero identifica il punto di interruzione in vari comandi.

Comandi dei punti di interruzione

È possibile includere un comando in un punto di interruzione che viene eseguito automaticamente quando viene raggiunto il punto di interruzione. Ad esempio, il comando seguente si interrompe in MyFunction+0x47, scrive un file dump e quindi riprende l'esecuzione.

0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g" 

Nota Se si controlla il debugger in modalità utente dal debugger del kernel, non usare g (Go) nella stringa di comando del punto di interruzione. L'interfaccia seriale potrebbe non essere in grado di mantenere il passo con questo comando e non sarà possibile eseguire nuovamente il breakback in CDB. Per altre informazioni su questa situazione, vedere Controllo del debugger User-Mode dal debugger del kernel.

Numero di punti di interruzione

In modalità kernel è possibile usare un massimo di 32 punti di interruzione software. In modalità utente è possibile usare qualsiasi numero di punti di interruzione software.

Il numero di punti di interruzione del processore supportati dipende dall'architettura del processore di destinazione.

Punti di interruzione condizionali

È possibile impostare un punto di interruzione attivato solo in determinate condizioni. Per altre informazioni su questi tipi di punti di interruzione, vedere Impostazione di un punto di interruzione condizionale.

Punti di interruzione ambigui

Nella versione 10.0.25310.1001 e successive del motore del debugger è ora supportata la risoluzione ambigua dei punti di interruzione. I punti di interruzione ambigui consentono al debugger di impostare punti di interruzione in determinati scenari in cui un'espressione del punto di interruzione viene risolta in più posizioni. Per altre informazioni, vedere Risoluzione ambigua dei punti di interruzione.

Vedi anche

Uso dei punti di interruzione

Sintassi dei punti di interruzione

bp, bu, bm (Imposta punto di interruzione)

Punti di interruzione non risolti (punti di interruzione bu)