2009-05-15 18 views
9

Estoy creando una biblioteca compartida usando gcc y sospecho que puede haber algunas pérdidas de memoria de la biblioteca compartida. Para depurar, necesito habilitar los símbolos de depuración al crear la biblioteca compartida.gcc: habilitar los símbolos de depuración en la biblioteca compartida

Para compilar, estoy usando gcc -g ... [-g es para habilitar la información de depuración] Pero el tamaño de la biblioteca [.so archivo] no está cambiando para -g, y sin -g. Además, no recibo ninguna información útil de herramientas como VALGRIND.

¿Alguien me puede señalar el error?

+1

¿Se puede publicar las partes relevantes de su archivo MAKE, o el otro CFLAGS que se está utilizando? –

+1

Agregué -g a CFLAGS y funcionó, ¡¡¡gracias !!! – Alphaneo

Respuesta

16

Debe usar "-g" para todos los pasos (compilación de sus archivos de origen y enlaces).

+0

También asegúrese de no especificar -s al vincular, ya que esto elimina la información de depuración. – Manuel

+0

El indicador -g no es realmente necesario para el enlazador gnu, ya que la página man del ld dice: "-g Ignorado. Proporcionado para compatibilidad con otras herramientas.". Solo es necesario para la etapa de compilación. – aleixrocks

Cuestiones relacionadas