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 queSERVERPROPERTY('ProcessID')
, excepto que$PID
es un valor hexadecimal mientras queSERVERPROPERTY('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 queSELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID
, excepto que$TID
es un valor hexadecimal mientras quekpid
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
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.
En el cuadro de diálogo Configuración del punto de interrupción, seleccione la opción Acciones.
En el cuadro de diálogo Mostrar un mensaje en la ventana de salida:, introduzca una expresión.
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.
Seleccione Cerrar para implementar los cambios.