Condividi tramite


Esecuzione istruzione per istruzione del codice Transact-SQL

Il debugger Transact-SQL consente di controllare quali istruzioni Transact-SQL vengono eseguite in una finestra dell'editor di query del Motore di database. È possibile sospendere l'esecuzione del debugger in corrispondenza di singole istruzioni e successivamente visualizzare lo stato degli elementi di codice in quei punti.

Punti di interruzione

Un punto di interruzione indica al debugger di sospendere temporaneamente l'esecuzione in corrispondenza di un'istruzione Transact-SQL specifica. È possibile attivare/disattivare un punto di interruzione su un'istruzione Transact-SQL selezionando l'istruzione ed eseguendo una delle azioni seguenti:

  • Premere F9.

  • Scegliere Imposta/Rimuovi punto di interruzione dal menu Debug.

  • Nella finestra dell'editor di query, fare clic sulla barra grigia posta sul lato sinistro dell'istruzione Transact-SQL desiderata.

Per visualizzare e gestire tutti i punti di interruzione impostati, è possibile utilizzare la finestra Punti di interruzione. Nella finestra Punti di interruzione vengono elencate informazioni quali la riga di codice sulla quale è impostato il punto di interruzione. In questa finestra è inoltre possibile eliminare, disattivare e attivare i punti di interruzione. Per ulteriori informazioni sulla finestra Punti di interruzione, vedere Finestra Punti di interruzione.

La finestra Punti di interruzione può essere visualizzata in uno dei seguenti modi:

  • Scegliere Finestre dal menu Debug, quindi fare clic su Punti di interruzione.

  • Nella barra degli strumenti Debug fare clic sul pulsante Punti di interruzione.

  • Premere CTRL+ALT+B.

È possibile disattivare temporaneamente un punto di interruzione. In questo caso, l'esecuzione non viene sospesa in corrispondenza del punto di interruzione, il quale rimane presente qualora si desideri riattivarlo in un secondo momento.

Nella tabella seguente vengono elencate le varie modalità con le quali è possibile disattivare, riattivare ed eliminare i punti di interruzione.

Azione

Procedura

Disattivare un singolo punto di interruzione

  • Nella finestra dell'editor di query, fare clic con il pulsante destro del mouse sul punto di interruzione, quindi fare clic su Disattiva punto di interruzione.

  • Nella finestra Punti di interruzione, deselezionare la casella di controllo a sinistra del punto di interruzione.

Disattivare tutti i punti di interruzione

  • Scegliere Disattiva tutti i punti di interruzione dal menu Debug.

  • Nella barra degli strumenti della finestra Punti di interruzione, fare clic sul pulsante Disattiva tutti i punti di interruzione.

Riattivare un singolo punto di interruzione

  • Nella finestra dell'editor di query, fare clic con il pulsante destro del mouse sul punto di interruzione, quindi fare clic su Attiva punto di interruzione.

  • Nella finestra Punti di interruzione, selezionare la casella di controllo a sinistra del punto di interruzione.

Riattivare tutti i punti di interruzione disattivati

  • Scegliere Attiva tutti i punti di interruzione dal menu Debug.

  • Nella barra degli strumenti della finestra Punti di interruzione, fare clic sul pulsante Attiva tutti i punti di interruzione.

Eliminare un singolo punto di interruzione

  • Nella finestra dell'editor di query, fare clic con il pulsante destro del mouse sul punto di interruzione, quindi fare clic su Elimina punto di interruzione.

  • Nella finestra Punti di interruzione fare clic con il pulsante destro del mouse su un punto di interruzione e scegliere Elimina dal menu di scelta rapida.

  • Nella finestra Punti di interruzione, selezionare il punto di interruzione, quindi premere CANC.

Eliminare tutti i punti di interruzione

  • Scegliere Elimina tutti i punti di interruzione dal menu Debug.

  • Nella barra degli strumenti della finestra Punti di interruzione, fare clic sul pulsante Elimina tutti i punti di interruzione.

[!NOTA]

Il debugger Transact-SQL non supporta le funzionalità di MicrosoftVisual Studio relative all'impostazione di condizioni o del numero di passaggi dei punti di interruzione.

Controllo dell'esecuzione di istruzioni

Nel debugger Transact-SQL è possibile specificare le opzioni seguenti per eseguire il codice Transact-SQL dall'istruzione corrente:

  • Eseguire il codice fino al successivo punto di interruzione.

  • Eseguire la successiva istruzione.

    Se l'istruzione successiva richiama una stored procedure, una funzione o un trigger Transact-SQL, verrà visualizzata dal debugger una nuova finestra dell'editor di query contenente il codice del modulo. La finestra sarà in modalità di debug e l'esecuzione sarà sospesa in corrispondenza della prima istruzione nel modulo. È possibile spostarsi quindi nel codice del modulo, ad esempio, impostando dei punti di interruzione o avanzando istruzione per istruzione nel codice.

  • Passare all'istruzione successiva.

    Viene eseguita l'istruzione successiva. Tuttavia, se l'istruzione richiama una stored procedure, una funzione o un trigger, il codice del modulo viene eseguito fino alla fine e i risultati vengono restituiti al codice che ha effettuato la chiamata. Se si è sicuri che in una stored procedure non vi siano errori, è possibile superarla. L'esecuzione viene sospesa in corrispondenza dell'istruzione che segue la chiamata alla stored procedure, la funzione o il trigger.

  • Uscire da una stored procedure, una funzione o un trigger.

    L'esecuzione viene sospesa in corrispondenza dell'istruzione che segue la chiamata alla stored procedure, la funzione o il trigger.

  • Eseguire il codice dalla posizione corrente alla posizione corrente del puntatore e ignorare tutti i punti di interruzione.

Nella tabella seguente sono elencate le varie procedure che consentono di controllare il modo in cui le istruzioni sono eseguite nel debugger Transact-SQL.

Azione

Procedura

Eseguire tutte le istruzioni dall'istruzione corrente al successivo punto di interruzione

  • Scegliere Continua dal menu Debug.

  • Nella barra degli strumenti Debug fare clic sul pulsante Continua.

Eseguire la successiva istruzione o il successivo modulo.

  • Scegliere Esegui istruzione dal menu Debug.

  • Nella barra degli strumenti Debug fare clic sul pulsante Esegui istruzione.

  • Premere F11.

Passare alla successiva istruzione o al successivo modulo.

  • Scegliere Esegui istruzione/routine dal menu Debug.

  • Nella barra degli strumenti Debug fare clic sul pulsante Esegui istruzione/routine.

  • Premere F10.

Uscire da un modulo

  • Scegliere Esci da istruzione/routine dal menu Debug.

  • Nella barra degli strumenti Debug fare clic sul pulsante Esci da istruzione/routine.

  • Premere MAIUSC+F11.

Eseguire il codice fino alla posizione corrente del cursore

  • Fare clic con il pulsante destro del mouse nella finestra dell'editor di query, quindi fare clic su Esegui fino al cursore.

  • Premere CTRL+F10.