Debugger

Debugger

El Debugger ABAP es la herramienta más importante para el análisis de programas ABAP. Durante el desarrollo de programas el debugger puede ser usado para analizar situaciones de error, ya sea errores de tiempo de ejecución o comportamientos inesperados. Puede ser usado para analizar un programa existente para entender el flujo del programa, esto es esencial para adatar o extender un programa.

Existe dos versiones del ABAP Debugger disponibles en el sistema, además que la nueva versión en SAP NetWaver 2004 se incrementa la funcionalidad en el nuevo debugger.

Las principales diferencias entre el debugger clásico y el nuevo son:

El nuevo ABAP Debugger es ejecutado en su propio módulo, es decir un modo independiente del programa que se está ejecutando, es decir que se muestra en su propia ventana del GUI.

El ABAP Debugger classic corre sobre el mismo módulo, la misma área de la aplicación por lo que se visualiza en la misma ventana de la aplicación.

El nuevo Debugger presenta una interface de usuario más flexible en comparación del clásico.

Incorpora nuevas técnicas de debugger como: Scripting y Layer Aware Debugging.

Para activar el Debugger existen diferentes métodos dependiendo de lo que necesitemos.

Programas ejecutables o transacciones:

Si el programa es visualizado en árbol de navegación de objetos (SE80) se puede ejecutar dando click derecho sobre el programa y escogiendo del menú contextual Execute -Debugging.

Para iniciar el programa en modo debugging, podemos hacerlo mediante el menú del SAP GUI, la ubicación exacta depende de la clase de transacción, o de programa por ejemplo escogemos Program - Test - Debugging for an executable program.

Jobs en Fondo:

In la transacción general de Jobs (SM37) podemos seleccionar un job que haya sido finalizado e ingresar en la barra de transacciones jdbg. El debug se iniciará simulando el mismo escenario del job con los mismos parámetros de la pantalla de selección y en la variable del sistema SY-Batch se seteará en 'X'.

Con la variable SY-BATCH el sistema indica que la aplicación corre en modo de fondo esto debido a que algunos programas cambia el comportamiento, cuando son ejecutados en fondo.

Servicios ICF:

Para pasar a debugger tenemos que ir en el menú a Edit - Debugging - Activate Debugging.

Métodos o módulo de funciones

Los dos, tanto el editor de clases como el de módulo de funciones tiene un entorno de prueba, dónde individualmente métodos o módulo de funciones pueden ser probados en modo debugging.

debugging1.png

Cuando corremos aplicaciones con pantallas de diálogo el debugging puede alternarse de la siguiente manera:

Programas ejecutables o transacciones:

Ingresa /h en el campo de transacciones o en el menú System - Utilities - Debugging Screen.ABAP

Ingresa /ha en el campo de transacciones o en el menú System- Utilities- DebugDEbugABAP. La pantalla procesada no es depurada (debugeada) pero los módulos PAI y PBO son depurados (debugeados).

Ingresa /hs en el campo de transacciones o en el menú System-Utilities-Debug System . Tu programa y los programas del sistema son debugeados.

Todos los programas corriendo actualmente:

En la transacción SM50 el proceso de trabajo debe de ser seleccionado, elige Administration - Program - Debugging, el debug será llamado en la siguiente instrucción donde sea posible parar .

Para finalizar la sesión debug podemos hacerlo de las siguientes maneras:

image.png

Finalizar función debugging, solo cierra la función debugging y el programa sigue ejecutando.

Finalizar aplicación y función debugging cierra el debug y también termina la ejecución del programa.

La imagen inicial del Debugger

El debugger consta de pestañas cada una de ellas un (Descktop) de los cuales tenemos, tres, que son totalmente configurables a nuestro gusto, y podemos salvar dichas distribuciones.

También tenemos unos descktop's pre-configurados, que tienen información útil para el análisis.

En lo que podemos configurar podemos agregar herramientas, cambiarlas de posición, modificar la distribución de horizontal a vertical y cerrar herramientas así como agregarlas.

debuggin2.png