Compartir vía


Especificar una acción de punto de interrupción

Se aplica a: SQL Server

Las acciones de punto de interrupción especifican una tarea personalizada que el depurador de Transact-SQL realiza en un punto de interrupción. Si se alcanza el número de llamadas especificado y se satisface una condición de punto de interrupción especificada, el depurador realiza la acción definida para el punto de interrupción.

Consideraciones sobre las acciones

La acción predeterminada para un punto de interrupción es que se detenga la ejecución cuando se hayan satisfecho el número de llamadas y la condición de punto de interrupción. El uso principal de una acción en el depurador de Transact-SQL consiste en imprimir información en la ventana de salida del depurador.

Los mensajes se especifican en el cuadro Mostrar un mensaje en la ventana de salida: como una cadena de texto que incluye expresiones con información de la instancia de Transact-SQL que se está depurando. Estas expresiones pueden ser:

  • Una expresión Transact-SQL escrita entre llaves ({}). Las expresiones pueden incluir variables, parámetros y funciones integradas de Transact-SQL. Los ejemplos incluyen {@MyVariable}, {@NameParameter}, {@@SPID} o {SERVERPROPERTY('ProcessID')}.

  • Una de las siguientes palabras clave:

    • $ADDRESS devuelve el nombre del procedimiento almacenado o la función definida por el usuario donde se ha establecido el punto de interrupción. Si el punto de interrupción está establecido en la ventana del editor, $ADDRESS devuelve el nombre del archivo de script que se está editando. $ADDRESS y $FUNCTION devuelven la misma información en el depurador de Transact-SQL.

    • $CALLER devuelve el nombre de la unidad de código de Transact-SQL encargada de llamar a un procedimiento almacenado o una función. Si el punto de interrupción se encuentra en la ventana del editor, $CALLER devuelve <No caller available>. Si el punto de interrupción es un procedimiento almacenado o una función definida por el usuario que se ha llamado desde el código de la ventana del editor, $CALLER devuelve el nombre del archivo que se está editando. Si el punto de interrupción es un procedimiento almacenado o una función definida por el usuario que se ha llamado desde otro procedimiento almacenado o función, $CALLER devuelve el nombre del procedimiento o la función de llamada.

    • $CALLSTACK devuelve la pila de llamadas de las funciones de la cadena que llamaron al procedimiento almacenado o la función definida por el usuario actual. Si el punto de interrupción está establecido en la ventana del editor, $CALLSTACK devuelve en nombre del archivo de script que se está editando.

    • $FUNCTION devuelve el nombre del procedimiento almacenado o la función definida por el usuario donde se ha establecido el punto de interrupción. Si el punto de interrupción está establecido en la ventana del editor, $FUNCTION devuelve el nombre del archivo de script que se está editando.

    • $PID y $PNAME devuelven el identificador y el nombre del proceso del sistema operativo que está ejecutando la instancia del motor de base de datos en la que se está ejecutando Transact-SQL. $PID devuelve el mismo identificador que SERVERPROPERTY('ProcessID'), excepto que $PID es un valor hexadecimal mientras que SERVERPROPERTY('ProcessID') es un valor decimal.

    • $TID y $TNAME devuelven el identificador y el nombre del subproceso del sistema operativo en el que se está ejecutando el lote Transact-SQL. El subproceso está asociado al proceso que ejecuta la instancia del motor de base de datos. $TID devuelve el mismo valor que SELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID, excepto que $TID es un valor hexadecimal mientras que kpid es un valor decimal.

  • También puede usar el carácter de barra diagonal inversa (\) como carácter de escape para permitir el uso de llaves y barras diagonales inversas en el mensaje: \{, \} y \\.

Especificar una acción

  1. En la ventana del editor, haga clic con el botón derecho en el glifo de punto de interrupción y, después, seleccione Acciones en el menú de función rápida.

    O bien

    En la ventana Puntos de interrupción, haga clic con el botón derecho en el glifo de punto de interrupción y, a continuación, seleccione Configuración en el menú de función rápida.

  2. En el cuadro de diálogo Configuración del punto de interrupción, seleccione la opción Acciones.

  3. En el cuadro de diálogo Mostrar un mensaje en la ventana de salida:, introduzca una expresión.

  4. Seleccione Continuar ejecución del código si no desea que el punto de interrupción detenga la ejecución. Esta opción solo está activa si ha seleccionado la opción Acciones.

  5. Seleccione Cerrar para implementar los cambios.