Cobertura de código con Xcode 4.2 – Faltan files

Seguí la publicación de Claus para configurar la cobertura del código en Xcode 4.2 con LLVM 3.0. Puedo ver los files de cobertura de testing, pero son solo para las classs de testing de mi unidad, no para las classs de proyecto reales. He intentado configurar Generar files de cobertura de testing y flujo de progtwig de instrumento en en mi objective principal, pero eso no ayudó, ya que falló con el siguiente error:

fopen $ UNIX2003 llamado de la function llvm_gcda_start_file

Para aclarar, no creo que sea el enfoque correcto, simplemente lo intenté para ver si generaría cobertura de código en mis classs de proyecto.

En este punto, me encantaría probar cualquier cosa que tenga cobertura de código trabajando en mi aplicación. ¿Alguna sugerencia?

Está esperando un problema de linker, la biblioteca fopen$UNIX2003 usa fopen$UNIX2003 y fwrite$UNIX2003 lugar de fopen y fwrite .

Todo lo que necesita es agregar el siguiente file .c a su proyecto:

 #include <stdio.h> FILE *fopen$UNIX2003( const char *filename, const char *mode ) { return fopen(filename, mode); } size_t fwrite$UNIX2003( const void *a, size_t b, size_t c, FILE *d ) { return fwrite(a, b, c, d); } 

Este código simplemente reasigna las funciones faltantes a las estándar.

Nota sobre el sufijo $UNIX2003 :

Encontré un documento de Apple que decía:

Las variantes de conformidad de UNIX ™ usan el sufijo $ UNIX2003.

Importante: el trabajo para la conformidad UNIX ™ comenzó en Mac OS 10.4, pero no se completó hasta 10.5. Por lo tanto, en las versiones 10.4 de libSystem.dylib, existen muchos de los símbolos variantes conformes (con el sufijo $ UNIX2003). La list no está completa, y el comportamiento conforme de los símbolos variantes puede no estar completo, por lo que deben evitarse.

Debido a que el entorno de 64 bits no tiene un legado que mantener, fue creado para ser UNIX ™ conforme desde el principio, sin el uso del sufijo $ UNIX2003. Entonces, por ejemplo, _funciones $ UNIX2003 en 32 bits y _funciones en 64 bits tendrán el mismo comportamiento de conformidad.

Por lo tanto, espero que libprofile_rt se vincule contra 10.4 SDK.

Utilizo CoverStory http://code.google.com/p/coverstory/ una GUI para los files .gcda y .gcno .

La documentation explica la configuration necesaria para generar estos files http://code.google.com/p/coverstory/wiki/UsingCoverstory .