2008-09-01 19 views
5

¿Es posible usar gcov para pruebas de cobertura de aplicaciones de subprocesos múltiples?GCOV para aplicaciones de subprocesos múltiples

He realizado algunas pruebas triviales de nuestro código base, pero sería bueno tener una idea de la cobertura que estamos logrando. Si gcov no es apropiado, ¿alguien puede recomendar una herramienta alternativa (posible oprofile), idealmente con una buena documentación sobre cómo empezar?

Respuesta

8

Sin duda, hemos usado gcov para obtener información de cobertura en nuestra aplicación de subprocesos múltiples.

Desea compilar con gcc 4.3 que puede hacer cobertura en código dinámico.

Compila con las opciones -fprofile-arcs -ftest-coverage, y el código generará archivos .gcda que gcov puede procesar.

Hacemos una compilación separada de nuestro producto, y recogemos la cobertura de eso, ejecutando pruebas unitarias y pruebas de regresión.

Finalmente utilizamos lcov para generar páginas de resultados HTML.

0

No he usado gcov para trabajos de cobertura de subprocesos múltiples. Sin embargo, en MacOS, la herramienta Shark de Apple maneja múltiples hilos. Es principalmente un generador de perfiles, pero también puede brindar información de cobertura.

http://developer.apple.com/tools/sharkoptimize.html

1

gcov funciona bien para aplicaciones multi-hilo. La arquitectura de la instrumentación está correctamente serializada, por lo que obtendrá datos de cobertura de buena fidelidad.

Sugeriría usar gcov junto con lcov. Esto le proporcionará excelentes informes desde el proyecto completo hasta archivos fuente individuales.

lcov también le ofrece una versión HTML con código de color de su fuente para que pueda evaluar rápidamente sus lapsos de cobertura.

Cuestiones relacionadas