Depuración de código personalizado de Oracle BRM Policy Opcode mediante GDB

Oracle BRM - Gestión de facturación e ingresos

Compartir en

05/09/2019

Índice

Si queremos producir un Oracle BRM software, debemos cumplir algunos requisitos relativos a nuestro proceso de desarrollo. Es especialmente importante incorporar buenas técnicas de prueba y depuración en nuestro proceso de desarrollo.
Las pruebas son un proceso de búsqueda de fallos o errores en un producto de software que realiza manualmente un probador o que puede automatizarse.
Depuración es el proceso de encontrar y resolver defectos o problemas dentro de un programa informático que impiden el correcto funcionamiento del software o de un sistema informático. Básicamente, es un proceso de reparación de los fallos encontrados en la fase de pruebas. El programador o desarrollador es el responsable de la depuración y no puede automatizarse.

Depuración del código personalizado de los opcodes de la política Oracle BRM

Al personalizar los opcodes de la política en Oracle BRM A menudo es necesario depurar algún código para encontrar posibles fallos o analizar el comportamiento del código. Se pueden realizar algunos análisis básicos con el registro de algunos mensajes de depuración y el análisis de los registros, pero un método mucho más avanzado y potente es utilizar una herramienta independiente: el depurador. En este artículo veremos cómo podemos utilizar el depurador de código abierto GDB para depurar un proceso Oracle BRM cm que realiza también algo de código personalizado (vea la imagen de abajo).

Depuración del CM Oracle BRM con GDB
Vista general esquemática de la depuración del CM Oracle BRM utilizando GDB

GDB es un depurador de código abierto que proporciona muchas herramientas avanzadas y potentes para analizar y depurar nuestro código. Algunas de las características básicas de GDB son los puntos de interrupción (condicionales/no condicionales), los relojes, las trazas hacia atrás y la ejecución incremental de código. Por supuesto, también puede ver y modificar los valores de las variables y llamar a diversas funciones. Veamos ahora cómo utilizamos GDB con cm process en la práctica.

Depuración en la práctica

En primer lugar, debemos obtener un PID de nuestro proceso CM:

ps x

Encuentre el PID del proceso CM y utilícelo para conectarse a ese proceso con GDB:

gdb cm

Ahora se abre el shell de GDB donde podemos ejecutar varios comandos que GDB soporta. Cada nueva conexión que se establece con CM provoca el desove de un nuevo proceso hijo CM desde el CM padre. Queremos que GDB también rastree dichos procesos hijos. Ejecute el siguiente comando en el shell de GDB:

(gdb) set follow-fork-mode child

Dependiendo de sus necesidades puede que también quiera explorar los comandos set detach-on-fork y attach. Ahora establezcamos algún punto de ruptura en la implementación de algún opcode de política, como en el siguiente ejemplo:

(gdb) break fm_act_pol_post_reauthorize.c:192

Cuando ahora activemos la ejecución del opcode de la política, ésta será interrumpida por el punto de interrupción (o incluso antes nos notificará que se ha generado un nuevo hijo). Entonces podremos seguir el flujo de código paso a paso utilizando los comandos next (abbr. n) o step. Si estamos interesados en el valor de alguna variable, podemos imprimirlo utilizando:

print

Ejemplo de depuración del proceso CM Oracle BRM
Ejemplo de uso de GDB para depurar el proceso Oracle BRM CM

También disponemos de muchas más funciones avanzadas y potentes que se describen en detalle en la documentación del BGF y en la ayuda integrada. Le invitamos a investigarlas para ver cómo pueden ayudarle.

Imagen de Aleš
Aleš
Ales Pristovnik es el director general de Tridens Technology, una empresa eslovena especializada en el desarrollo de soluciones de software para la industria del automóvil. Tiene una larga trayectoria en el sector de las TI, ya que ha trabajado para varias grandes empresas en el pasado. Le apasionan la tecnología y la innovación, y su objetivo actual es desarrollar soluciones que mejoren la seguridad y la eficacia de la industria automovilística. Posee una sólida formación en liderazgo y gestión, y se ha comprometido a impulsar su empresa en un sector tecnológico en constante evolución.

Visite noticias en su bandeja de entrada


    0 0 vota
    Article Rating
    Suscríbase a
    Notificar a
    invitado

    0 Comments
    El más antiguo
    Más reciente Más votados
    Feedbacks en línea
    Ver todos los comentarios