2009-05-15 11 views
9

Sto creando una libreria condivisa utilizzando gcc e sospetto che potrebbero esserci delle perdite di memoria dalla libreria condivisa. Per eseguire il debug, è necessario abilitare i simboli di debug durante la creazione della libreria condivisa.gcc: Abilitazione dei simboli di debug nella libreria condivisa

Per creare, sto usando gcc -g ... [-g è per abilitare le informazioni di debug] Ma la dimensione della libreria [.so file] non cambia per -g e senza -g. Inoltre, non ricevo informazioni utili da strumenti come VALGRIND.

Qualcuno può segnalarmi l'errore?

+1

È possibile pubblicare le parti pertinenti del makefile o gli altri CFLAG in uso? –

+1

Ho aggiunto -g a CFLAGS e ha funzionato, grazie !!! – Alphaneo

risposta

16

È necessario utilizzare "-g" per tutti i passaggi (compilazione dei file di origine e collegamento).

+0

Assicurati inoltre di non specificare -s durante il collegamento, perché questo elimina le informazioni di debug. – Manuel

+0

Il flag -g non è realmente necessario per il linker di gnu come dice la pagina man di ld: "-g Ignorato. Previsto per compatibilità con altri strumenti.". È richiesto solo per la fase di compilazione. – aleixrocks

Problemi correlati