Discussion:
Core Dump en programa C. Bus Coredump
(demasiado antiguo para responder)
Seba F
2003-10-24 00:44:52 UTC
Permalink
Estoy modificando un código ageno y
tengo una funcion que en rasgos generales hace los siguiente.

int IsHome(int Prefijo) {
      static int iCant = 0;
      static int *iprtPref;

      if(iCant == 0) {
            /* Busco en un archivo una lista de prefijos */

            /* Alloco memoria en *pref para almacenar la lista de prefijos*/

            /* Cargo en *iprtPref la lista de prefijos que tenia en el arhivo */


            /*Finalmente las variables quedan asignadas de esta forma*/
            iCant = Cantidad de prefijos traidos
            iprtPref = Queda cargado con todos los prefijos
      }

      /* Busco el Parametro Prefijo en *Pref +/
      Si encuentro devuelvo 1 sino 0
}

Mi problema es que me esta dando un Core del tipo BUS ERROR (aleatoriamente) y
sospecho que puede originarse en esta función.
Mi duda es: que comportamiento toma la variable estatica iprtPref una vez que
alloco memoria?
Aparentemente esa memoria queda allocada hasta que finalice el programa,
pero quiero saber si esto es realmente es asi!

Desde ya muchas gracias
Julián Albo
2003-10-24 07:05:21 UTC
Permalink
Post by Seba F
Mi problema es que me esta dando un Core del tipo BUS ERROR (aleatoriamente) y
sospecho que puede originarse en esta función.
No sospeches, usa el depurador.
Post by Seba F
Mi duda es: que comportamiento toma la variable estatica iprtPref una vez que
alloco memoria?
¿A qué llamas "allocar"? Si es usar malloc, claro, la memoria sigue ahí,
y el puntero sigue apuntando a ella.

Salu2

Loading...