Spécifier une action de point d'arrêt

L'action de point d'arrêt Lorsqu'il est atteint spécifie une tâche personnalisée que le débogueur Transact-SQL effectue pour un point d'arrêt. Si le nombre d'accès spécifié est atteint et si les conditions de point d'arrêt spécifiées sont satisfaites, le débogueur effectue l'action spécifiée pour le point d'arrêt.

Considérations sur l'action

L'action par défaut pour un point d'arrêt consiste à arrêter l'exécution lorsque le nombre d'accès et la condition de point d'arrêt sont tous les deux satisfaits. L'action Lorsqu'il est atteint dans le débogueur Transact-SQL sert, quant à elle, principalement à afficher des informations dans la fenêtre Sortie du débogueur en spécifiant un message à afficher.

Le message à afficher est indiqué dans l'option Afficher un message et spécifié comme une chaîne de texte qui inclut des expressions contenant des informations issues du Transact-SQL débogué. Ces expressions sont notamment les suivantes.

  • Une expression Transact-SQL comprise entre des accolades ({}). Les expressions peuvent inclure des variables Transact-SQL, des paramètres et des fonctions intégrées, par exemple, {@MyVariable}, {@NameParameter}, {@@SPID} ou {SERVERPROPERTY(‘ProcessID’)}.

  • Un des mots clés suivants :

    1. $ADDRESS retourne le nom de la procédure stockée ou de la fonction définie par l'utilisateur dans laquelle le point d'arrêt est défini. Si le point d'arrêt est défini dans la fenêtre de l'éditeur, $ADDRESS retourne le nom du fichier de script modifié. $ADDRESS et $FUNCTION retournent les mêmes informations dans le débogueur Transact-SQL.

    2. $CALLER retourne le nom de l'unité de code Transact-SQL qui a appelé une procédure stockée ou une fonction. Si le point d'arrêt se trouve dans la fenêtre de l'éditeur, $CALLER retourne <Aucun appelant disponible>. Si le point d'arrêt se trouve dans une procédure stockée ou une fonction définie par l'utilisateur appelée à partir du code dans la fenêtre de l'éditeur, $CALLER retourne le nom du fichier modifié. Si le point d'arrêt se trouve dans une procédure stockée ou une fonction définie par l'utilisateur appelée à partir d'une autre procédure stockée ou fonction, $CALLER retourne le nom de la procédure ou fonction appelante.

    3. $CALLSTACK retourne la pile des appels des fonctions dans la chaîne qui a appelé la procédure stockée ou la fonction définie par l'utilisateur en cours. Si le point d'arrêt se trouve dans la fenêtre de l'éditeur, $CALLSTACK retourne le nom du fichier de script modifié.

    4. $FUNCTION retourne le nom de la procédure stockée ou de la fonction définie par l'utilisateur dans laquelle le point d'arrêt est défini. Si le point d'arrêt est défini dans la fenêtre de l'éditeur, $FUNCTION retourne le nom du fichier de script modifié.

    5. $PID et $PNAME retournent l'ID et le nom du processus de système d'exploitation qui exécute l'instance du moteur de base de données où le code Transact-SQL s'exécute. $PID retourne le même ID que SERVERPROPERTY(‘ProcessID’), mais $PID est une valeur hexadécimale alors que SERVERPROPERTY(‘ProcessID’) est une valeur décimale.

    6. $TID et $TNAME retournent l'ID et le nom du thread de système d'exploitation qui exécute le lot Transact-SQL. Le thread est associé au processus qui exécute l'instance du moteur de base de données. $TID retourne la même valeur que SELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID, mais $TID est une valeur hexadécimale alors que kpid est une valeur décimale.

  • Vous pouvez également utiliser la barre oblique inverse (\) comme caractère d'échappement pour autoriser des accolades et des barres obliques inverse dans le message : \{, \} et \\.

Pour spécifier une action Lorsqu'il est atteint

  1. Dans la fenêtre de l'éditeur, cliquez avec le bouton droit sur le glyphe du point d'arrêt, puis cliquez sur Lorsqu'il est atteint dans le menu contextuel.

    - ou -

    Dans la fenêtre des points d'arrêt, cliquez avec le bouton droit sur le glyphe du point d'arrêt, puis cliquez sur Lorsqu'il est atteint dans le menu contextuel.

  2. Dans la boîte de dialogue Lorsque le point d'arrêt est atteint, sélectionnez le comportement que vous souhaitez :

    1. Sélectionnez Afficher un message pour afficher un message dans la fenêtre Sortie du débogueur lorsque le point d'arrêt est atteint.

    2. L'option Exécuter une macro n'est pas disponible à partir du débogueur Transact-SQL et est grisée.

    3. Sélectionnez Continuer l'exécution si vous ne voulez pas que le point d'arrêt suspende l'exécution. Cette option est active uniquement si vous avez sélectionné l'option Afficher un message.

  3. Cliquez sur OK pour implémenter les modifications ou sur Annuler pour fermer sans appliquer les modifications.

Voir aussi

Tâches

Spécifier une condition de point d'arrêt

Spécifier un nombre d'accès