1 votos

análisis de perfiles y cobertura de código con llvm/clang

Me gustaría hacer un análisis de perfiles y cobertura de código en algún código C. Desde páginas web como aquí y aquí Veo que probablemente necesito herramientas como llvm-cov y llvm-profdata . Pero mi Mac no parece tenerlos. ¿Alguien sabe cómo instalarlos?

[P.D. Puedo ver en la descripción de la etiqueta en [xcode] que "Casi todas las preguntas sobre el desarrollo o la distribución de aplicaciones están fuera de tema aquí". Me disculpo de antemano si la mía es una de esas preguntas. Si alguien puede indicarme un lugar mejor para preguntar, o incluso las preguntas frecuentes que cita la descripción de la etiqueta, se lo agradeceré].

0 votos

¿Quieres usar las herramientas GNU/Clang (como se explica en los enlaces que has proporcionado) o quieres usar Xcode? En el segundo caso, ¿ya has mirado la documentación para desarrolladores en apple.com?

0 votos

@nohillside Bueno, lo que yo desea hacer es perfilar un código que he estado compilando con cc . Sé que cc es realmente llvm/clang debajo, así que hice una búsqueda en la web, y esos enlaces son lo que me encontré. Y, no, no miré la documentación para desarrolladores en apple.com - francamente, ¡no sabría por dónde empezar!

4voto

awy Puntos 500

La creación de perfiles se puede hacer en Instruments, sólo hay que construir el binario de lanzamiento y ejecutarlo a través de Instruments.app.

Para la cobertura de código, utilice la cobertura de código de Xcode en el esquema Edit -> Test -> Gather coverage for ...


Xcode también contiene llvm-profdata y llvm-cov en /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin . Ponga eso en PATH y debería funcionar normalmente.


Si usted tienen para utilizar las herramientas llvm, o bien descargarlas directamente de https://releases.llvm.org o utilizar algo como la cerveza.

A continuación se explica cómo hacer que funcione https://stackoverflow.com/a/63690216 con Xcode. Si sólo quieres usar el terminal, simplemente cambiando SDKROOT y PATH es suficiente.

0 votos

Gracias. Tal vez debería haber dicho que estoy haciendo todo en la línea de comandos. (Nunca he oído hablar de Instruments).

0 votos

@SteveSummit: Instruments es una herramienta muy potente, así que deberías echarle un vistazo. Si usted tiene un montón de cosas superpuestas / concurrentes para analizar, mirar en señales que los Instrumentos pueden visualizar.

0 votos

@anki Esto casi funcionó. Me llevó un rato (el paquete es grande, y el ancho de banda de mi casa es bajo, así que tuve que intentarlo varias veces), pero conseguí descargar las herramientas llvm, y... no pueden leer los archivos de datos de perfil que mi código instrumentado está generando, debido a una falta de coincidencia en el número de versión de los archivos de datos de perfil. Maldita sea. Así que ahora estoy descargando una versión anterior...

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X