2013-04-25 17 views
7

Valgrind installato utilizzando brew.Valgrind mostra perdite di memoria su un programma vuoto su Mac OS X 10.8

#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
    return 0; 
} 

gcc -g -o hello hello.c 

valgrind --tool=memcheck --leak-check=yes ./hello 

enter image description here

+0

Che cos'è 'ImageLoaderMach0'? – Alex

+0

Non ne sono sicuro. Ho ricevuto un grosso mucchio di messaggi di errore sopra questo. –

+1

@Alex Mach è il nome del kernel sottostante su quel SO. Mach-O è il nome del formato eseguibile (http://en.wikipedia.org/wiki/Mach-O). "ImageLoader" Lascio alla tua interpretazione. Notare che "ImageLoaderMach0" non fa parte degli input dell'OP e che, in sostanza, l'OP ha posto questa domanda perché non sa esattamente cosa fa quel pezzo di codice (dare o prendere). –

risposta

6

Questa non è una perdita di memoria che è necessario preoccuparsi. ImageLoader è parte del runtime OS X ed è responsabile del caricamento di file binari e librerie dinamiche. Alloca un po 'di memoria una volta, durante l'inizializzazione e dimentica su di esso, ma è innocuo perché è un piccolo blocco di memoria assegnato solo una volta. E fa un sacco di cose che a Valgrind non piacciono ma che non sono errate. Devi add these to your suppression file.

2

Mac OSX 10.8 supporto nella Valgrind è ancora limitata. ImageLoaderMachO :: doInitialization ... dovrebbe essere nel tuo file di soppressione.