2012-09-17 19 views
14

tratando de obtener gcov en funcionamiento, consiguiendo el error siguiente:gcov sin memoria/versión no coincidente?

$ gcov src/main.c -o build 
build/main.gcno:version '404*', prefer '407*' 

gcov: out of memory allocating 14819216480 bytes after a total of 135168 bytes 

estoy usando sonido metálico/profile_rt para generar los archivos gcov necesita, estoy suponiendo que podría tener algo que ver con ello. Sin embargo, está funcionando en mi otra computadora, así que supongo que se puede solucionar de alguna manera.

Respuesta

16

Acabo de tener el mismo problema en mi máquina.

Asegúrate de que tus versiones de gcov y el compilador que uses coincidan.

Tuve este problema exacto al compilar con g ++ - 4.7 y tuve gcov 4.6.

En mi máquina sudo apt-get install ggcov conseguí la última versión. Luego tuve que llamar al sudo ln -sf /usr/bin/gcov-4.7 /usr/bin/gcov para hacer que el punto de GCOV esté en el lugar correcto.

+1

¡Gracias por la ayuda! Solucioné el problema simplemente ejecutando gcov-4.7 en lugar de gcov. Supongo que un enfoque más elegante implicaría usar update-alternatives, si estuviera motivado. –

+0

Gracias Anthony! Y 'ln -sf' puede eliminar automáticamente el antiguo gcov por usted. –

+0

Gracias @EricZ. Actualizado: D –

5

Acabo de tener el mismo problema y tuve instaladas las versiones correctas. Solución en mi caso: elimine todos los archivos *.gcda de cualquier subdirectorio que compile. Mi make clean no los cubrió.

7

Mi problema era que no actualizaba gcc y g++ por lo que podría utilizar un compilador más reciente, pero se olvidó de actualizar la versión gcov significa correr "gcov" o "lcov" recogió la versión compiladores anteriores de gcov.

Así que, básicamente, ejecutar g++ --version y gcov --version debería producir el mismo número de versión, de lo contrario las cosas van a salir muy mal.

Así es como actualicé mi versión del compilador, la última línea era la que me faltaba para que todo funcionara.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 90 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 90 
sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.9 90 
Cuestiones relacionadas