Mandato AT ENTRY

Define un punto de interrupción en el punto de entrada especificado en el bloque especificado.

Leer el esquema de sintaxisOmitir el esquema de sintaxis visualATevery_clauseENTRYblock_spec(,block_spec)*WHENconditioncommand;
*
Establece un punto de interrupción en cada ENTRY de cualquier bloque.
mandato
Un mandato de z/OS Debugger válido. Si utiliza la modalidad depuración remota, solo puede especificar mandatos soportados en la modalidad depuración remota.
condición
Una expresión condicional válida de z/OS Debugger.
Notas de uso
  • Para programas VS COBOL II, z/OS Debugger sólo da soporte al mandato AT ENTRY *.
  • Para especificar un punto de interrupción AT ENTRY para un programa que no resulta conocido para z/OS Debugger, debe realizar una de las acciones siguientes:
    • Si el nombre del programa es el mismo que block_spec, no es necesario que cualifique block_spec con el nombre del programa.
    • Si el nombre del programa no es el mismo que block_spec, tiene que calificar block_spec con el nombre de un programa. Cuando z/OS Debugger detecta un nombre de programa que coincide con el que ha especificado, se establece el punto de interrupción.
  • Un punto de interrupción ENTRY establecido para una unidad de compilación que se convierte en no activo (uno que no esté en el enclave actual), se suspende hasta que la unidad de compilación se convierta en activa. Un punto de interrupción ENTRY establecido para una unidad de compilación que se suprime del almacenamiento se suspende hasta que la unidad de compilación se vuelve a cargar. Un punto de interrupción suspendido no se puede desencadenar hasta que se vuelva a activar.
  • Para una aplicación CICS en z/OS Debugger, este punto de interrupción se borra al final del último proceso de la aplicación. Para una aplicación no CICS en z/OS Debugger, se borra al final de un proceso.
  • Los puntos de interrupción ENTRY para bloques en un programa captado o cargado se convierten en puntos de interrupción diferidos cuando se libera ese programa.
  • El mandato AT ENTRY no se puede utilizar mientras se reproducen sentencias registradas utilizando los mandatos PLAYBACK.
  • No puede utilizar el mandato AT ENTRY para detener la entrada en una rutina Language Environment MAIN para un enclave distinto del primer enclave si no dispone de datos de depuración para la unidad de compilación que lo contiene.
  • Puede restringir las circunstancias bajo las que se alcanza el punto de interrupción AT ENTRY especificando una condición WHEN. Si se especifica una condición WHEN, z/OS Debugger se detiene en el punto de interrupción AT ENTRY si el punto de entrada especificado coincide con el punto de entrada actual y si la condición WHEN es verdadera.
  • Se pueden utilizar los siguientes operadores condicionales en una condición:
    =
    Compara si dos operadores son iguales.
    ¬=
    Compara si dos operadores no son iguales.
    <
    Determina si el operando izquierdo es menor que el operando derecho.
    >
    Determina si el operando izquierdo es mayor que el operando derecho.
    <=
    Se determina si el operando de la izquierda es inferior o igual al operando de la derecha.
    >=
    Se determina si el operando de la izquierda es superior o igual al operando de la derecha.
    &
    Operación "and" lógica.
    |
    Operación "or" lógica.
  • Si utiliza el mandato AT ENTRY con una condición WHEN, cada vez que z/OS Debugger alcance la entrada, evalúa la condición. Si la condición se evalúa como verdadera (true), z/OS Debugger se detiene y se ejecuta el mandato asociado al punto de interrupción.
  • Cuando z/OS Debugger evalúa la condición y la condición no es válida, z/OS Debugger lleva a cabo una de las acciones siguientes:
    • Si SET WARNING se establece en ON, se detiene z/OS Debugger y se muestra un mensaje indicando que no ha podido evaluar la condición. Debe especificar un mandato para indicar qué acción desea que realice z/OS Debugger.
    • Si ESTABLECER AVISO está en OFF, z/OS Debugger no detiene ni muestra un mensaje del cual no haya podido evaluar la condición. z/OS Debugger continúa ejecutando el programa.
  • Un mandato AT ENTRY diferido crea un valor implícito de NAMES INCLUDE para el destino del valor AT ENTRY diferido.
  • No puede utilizar el mandato AT ENTRY para detener la entrada de un bloque anidado en un programa C o C++. Un bloque anidado es un grupo de sentencias delimitadas por { y }. El compilador asigna un nombre a estos bloques utilizando el patrón siguiente: %BLOCKn, donde n es un número asignado de forma secuencial.

Ejemplos

  • En la entrada del programa subrx, inicialice la variable ix y continúe con la ejecución del programa. El valor actual del lenguaje de programación es COBOL.
    AT ENTRY subrx PERFORM
      SET ix TO 5;
      GO;
    END-PERFORM;
  • En la entrada del programa myprog con el parámetro myparm, para detener el punto de entrada para myprog solamente cuando myparm equivalga a 100, especifique el mandato siguiente:
    AT ENTRY myprog WHEN myparm=100;

Consulte los temas siguientes para obtener más información relacionada con el material descrito en este tema.