Más adelante, una sección describe la interacción de los descriptores de construcción y las preferencias de EGL.
El depurador tiene dos modalidades: Java y COBOL, determinadas por la opción del descriptor de construcción system. Si no se utiliza ningún descriptor de construcción o si se establece el tipo de sistema en DEBUG como preferencia de depuración, la modalidad es Java.
La modalidad controla cómo actúa el depurador en situaciones en que el comportamiento de tiempo de ejecución EGL difiere para la salida Java y COBOL.
Los puntos de interrupción se recuerdan de una sesión de depuración a la siguiente, a menos que elimine el punto de interrupción.
No se puede establecer un punto de interrupción en una línea en blanco ni en una línea de comentario.
El depurador EGL busca el programa receptor en cada uno de los proyectos del entorno de trabajo.
Si el código se reenvía a un programa, el depurador se detiene en la primera sentencia de dicho programa.
El depurador EGL busca el programa receptor en cada uno de los proyectos del entorno de trabajo.
Si el código se reenvía a un programa, el depurador se detiene en la primera sentencia de dicho programa.
El depurador EGL busca el programa receptor en cada uno de los proyectos del entorno de trabajo.
Se aplica una excepción si se emite el mandato step return en una función de validador. En este caso, el comportamiento es idéntico al de un mandato step into, que básicamente significa que el depurador EGL ejecuta la siguiente sentencia y se interrumpe.
Por ejemplo, puede añadir un punto de interrupción en estas sentencias, pero un mandato step into simplemente continúa hasta la sentencia siguiente, que no tiene ningún otro efecto.
Finalmente, si emite el mandato step into o step over para una sentencia que es la última que se ejecuta en la función (y si dicha sentencia no es return, exit program o exit stack), el proceso se interrumpe en la propia función para que pueda revisar las variables que son locales a la función. Para continuar la sesión de depuración en este caso, emita otro mandato.
Si depura un programa que debe utilizarse en una aplicación de texto o por lotes de un entorno Java y si dicho programa emite una sentencia transfer que pasa el control a un programa que también debe utilizarse en una unidad de ejecución distinta de un entorno Java, el depurador EGL utiliza un descriptor de construcción que está asignado al programa receptor. La elección del descriptor de construcción se basa en las normas descritas anteriormente.
Si el depurador ejecuta el código fuente EGL, puede ejecutar sentencias en dicho programa emitiendo el mandato step into desde el llamador. Sin embargo, si el depurador llama al código generado, el depurador ejecuta todo el programa; el mandato step into funciona igual que el mandato step over.
Un valor para el tipo de sistema está disponible en sysVar.systemType. Además, un segundo valor está disponible en VGLib.getVAGSysType si ha solicitado la compatibilidad con VisualAge Generator durante el desarrollo.
La función de sistema VGLib.getVAGSysType devuelve el equivalente de VisualAge Generator del valor de sysLib.systemType; para obtener información detallada, consulte la tabla de VGLib.getVAGSysType.
El depurador EGL utiliza un puerto para establecer la comunicación con el entorno de trabajo Eclipse. El número de puerto por omisión es 8345. Si otra aplicación está utilizando ese puerto o si ese puerto está bloqueado por un cortafuegos, establezca un valor distinto tal como se describe en Establecer preferencias para el depurador EGL.
Puede invocar el depurador EGL desde una envoltura o programa Java generado por EGL para que pueda utilizar el depurador EGL cuando trabaje en una aplicación desplegada parcialmente. El programa necesita una sentencia call que se puede asociar con un componente de opciones de enlace, elemento callLink. De forma similar, debe asociar la envoltura con un elemento callLink. En cualquiera de los casos, el elemento debe especificar la propiedad removeComType como DEBUG.
Antes de que se ejecute la sentencia call, debe iniciar un programa escucha que se ejecuta en Eclipse. Se inicia un escucha utilizando una configuración de lanzamiento del escucha EGL que sólo tiene un valor configurable, un número de puerto. El número de puerto por omisión es 8346.
Debe especificar un puerto si varios escuchas EGL se ejecutan al mismo tiempo, ya que cada escucha EGL necesita su propio puerto. También debe especificar un puerto si otra aplicación utiliza el puerto 8346 o si un cortafuegos impide utilizar el puerto 8346.
El puerto de escucha es distinto del puerto del depurador EGL, que se especifica como una preferencia EGL.
if (systemType is zoscics) transferName = "FQ3R"; else // cuando systemType es debug transferName = "myProgram"; end transfer to transaction transferName;
if (systemType not debug) sysLib.commit(); end
-Dcom.ibm.debug.egl.port=númeroPuerto
Conceptos relacionados
Compatibilidad con VisualAge Generator
Soporte de VSAM