La mayor comunidad de Debian en español

CORE DUMPED


Hola, Estoy haciendo un programa sencillo en c en linux que reserva unos
bufffers en memoria compartida. Me funciona perfectamente en mi ordenador pero cuando ...

Hola,
Estoy haciendo un programa sencillo en c en linux que reserva unos bufffers en memoria compartida. Me funciona perfectamente en mi ordenador pero cuando lo pruebo en un ordenador con menos memoria o al incrementar el tamaño de los buffers me da un error de segmentación: CORE DUMPED.
¿Cómo puedo evitarlo?
¿Hay alguna forma de controlarlo durante la ejecución?
¿Alguna idea?
....

Saludos y gracias

Anterma

Probablemente estés accediendo a memoria que no pertenece al proceso.
¿Compruebas los errores en las reservas de memoria?
Saludos.

Have you ever wanted someone
you just couldn't have?

Me parece un problema de memoria, acuerdate de liberar la memoria que reserves cuando ya no la necesites, y de que quede toda libre al finalizar el programa. A ver que tal, suerte.

vivoconunxino escribió:

Me parece un problema de memoria, acuerdate de liberar la memoria que reserves cuando ya no la necesites, y de que quede toda libre al finalizar el programa. A ver que tal, suerte.

printf es tu amigo, cada vez que incrementas o debes reducir el tamaño del buffer saca por pantalla la cantidad de memoria que teoricamente está usando tu programa, es decir el tamaño del buffer y posteriormente por sistema operativo comprueba el tamaño real en memoria, a mi me da de todos modos que al incrementar el tamaño del buffer (imagino que lo haces con la funcion malloc), no estas pasando correctamente el tamaño (¿de la estructura?) a reservar o que quizas llegue un punto en el que estes utilizando un puntero no inicializado.

Todo esto por supuesto son suposiciones, sin ver código como que se hace complicado averiguar el motivo, un core dump me extrañaria que fuese porque no se libere memoria, quiero pensar que antes daria un error, a no ser que no estes tratando que no se disponga de memoria suficiente.

La seguridad es solo un estado mental.
Entre la satisfacción y la total decepción hay solo una acción.
Solo se que se todo lo que no se

Relacionado con CORE DUMPED