miércoles, 27 de agosto de 2014

Detección de memory leaks - Parte II

En este post vamos a ver como relacionar las direcciones de memoria con nuestro código fuente para ver en qué línea se está produciendo el memory leak. En el post anterior se mostraron algunos métodos para detectar memory leaks, de los cuales vamos a tomar como base el método 3 (el que usa un programa que cumpliría la función del testnap y además nos deja un archivo core para analizar con mdb).

Read this post in english.

Para desarrollar este ejemplo se utilizará un archivo (fm_inv_pol_demo_leaks.c) con funciones que produzcan memory leaks al utilizar las macros y funciones del api de BRM. Este archivo fomará parte de la librería fm_inv_pol.so para poder realizar las pruebas.

domingo, 24 de agosto de 2014

Detección de memory leaks - Parte I

Hola, hoy voy a escribir como detectar memory leaks (fugas de memoria) en nuestro codigo C/C++ de nuestras librerias fm de BRM.

Read this post in english.

Muchos habrán oido sobre Valgrind para detectar memory leaks (entre otras funciones que posee), pero lamentablemente Valgrind aún no funciona en Solaris SPARC, por lo cual vamos a tener que usar otras herramientas cuando estemos trabajando en un Solaris SPARC. En la documentación de Oracle BRM se menciona Purify pero como hay que pagar licencia vamos a utilizar algo que ya poseea nuestro SO y no tengamos que pagar.

Para detectar memory leaks (referidos a *poid_t y *pin_flist_t) en el CM, lo primero que tenemos que hacer es modificar el pin.conf del CM agregando esta línea:
- - disable_pcm_mempool 1
Al agregar esa linea en el pin.conf del CM hemos deshabilitado el pool de memoria que manejan los CMs para procesar flist y poids, ahora la memoria se asigna desde el heap del sistema.

miércoles, 20 de agosto de 2014

Introducción al blog y presentación

El conocimiento es una de las pocas cosas que al compartirse se multiplica y en este pequeño blog voy a tratar de compartir mi conocimiento sobre Oracle BRM. Algunos de los temas que tengo en mente para ir subiendo al blog son:
  • Detección de memory leaks.
  • Ambiente de desarrollo.
  • Tips de programación.
  • Tips de BRM.
  • Detección de core dumps.
  • Herramientas útiles a la hora de desarrollar.
  • Scripts para automatizar procesos.

Mi nombre es Martín Falconi, tengo 6 años de experiencia en BRM (para más información sobre mi carrera laboral pueden visitar mi perfil en Linkedin)


#include <stdio.h>

int main()
{
    printf("Bienvenidos al blog");
    return 0;
}


Buen viajeeeeeeeeeee