Ingl茅sFranc茅sEspa帽ol

icono de p谩gina de OnWorks

powerpc64le-linux-gnu-gcov-4.8 - Online en la nube

Ejecute powerpc64le-linux-gnu-gcov-4.8 en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en l铆nea de Windows o emulador en l铆nea de MAC OS

Este es el comando powerpc64le-linux-gnu-gcov-4.8 que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras m煤ltiples estaciones de trabajo en l铆nea gratuitas como Ubuntu Online, Fedora Online, emulador en l铆nea de Windows o emulador en l铆nea de MAC OS.

PROGRAMA:

NOMBRE


gcov - herramienta de prueba de cobertura

SINOPSIS


gcov [-v|--versi贸n] [-h|--ayuda]
[-a|--todos los bloques]
[-b|--probabilidades de rama]
[-c|- recuentos de ramas]
[-u|- ramas-incondicionales]
[-n|--ninguna salida]
[-l|--nombres-de-archivos-largos]
[-p|--preservar-caminos]
[-r|- solo relativo]
[-f|- res煤menes de funciones]
[-o|- directorio de objetos directorio | archivo]
[-s|--fuente-prefijo directorio]
[-d|--display-progreso]
archivos

DESCRIPCI脫N


gcov es un programa de cobertura de prueba. 脷selo en conjunto con GCC para analizar sus programas para
ayudar a crear un c贸digo de ejecuci贸n m谩s eficiente y m谩s r谩pido y descubrir partes no probadas de su
programa. Puedes usar gcov como herramienta de creaci贸n de perfiles para ayudar a descubrir d贸nde est谩 su optimizaci贸n
los esfuerzos afectar谩n mejor a su c贸digo. Tambi茅n puedes usar gcov junto con el otro perfil
herramienta, profesor, para evaluar qu茅 partes de su c贸digo utilizan la mayor cantidad de tiempo de c谩lculo.

Las herramientas de creaci贸n de perfiles lo ayudan a analizar el rendimiento de su c贸digo. Usando un generador de perfiles como gcov
or profesor, puede encontrar algunas estad铆sticas b谩sicas de rendimiento, como:

路 Con qu茅 frecuencia se ejecuta cada l铆nea de c贸digo

路 Qu茅 l铆neas de c贸digo se ejecutan realmente

路 Cu谩nto tiempo de computaci贸n usa cada secci贸n de c贸digo

Una vez que sepa estas cosas sobre c贸mo funciona su c贸digo cuando se compila, puede mirar cada
m贸dulo para ver qu茅 m贸dulos deben optimizarse. gcov te ayuda a determinar d贸nde trabajar
en optimizaci贸n.

Los desarrolladores de software tambi茅n utilizan las pruebas de cobertura junto con las suites de prueba, para asegurarse
el software es lo suficientemente bueno para un lanzamiento. Testsuites puede verificar que un programa
funciona como se esperaba; un programa de cobertura prueba para ver cu谩nto del programa es ejercido por
la suite de pruebas. Luego, los desarrolladores pueden determinar qu茅 tipos de casos de prueba deben agregarse a
los conjuntos de pruebas para crear mejores pruebas y un mejor producto final.

Debe compilar su c贸digo sin optimizaci贸n si planea usar gcov porque el
La optimizaci贸n, al combinar algunas l铆neas de c贸digo en una funci贸n, puede no brindarle tanto
informaci贸n, ya que necesita buscar "puntos calientes" donde el c贸digo utiliza una gran cantidad de
tiempo de la computadora. Asimismo, porque gcov acumula estad铆sticas por l铆nea (en el nivel m谩s bajo
resoluci贸n), funciona mejor con un estilo de programaci贸n que coloca solo una declaraci贸n en cada
l铆nea. Si usa macros complicadas que se expanden a bucles u otras estructuras de control,
las estad铆sticas son menos 煤tiles --- solo informan en la l铆nea donde la llamada macro
aparece. Si sus macros complejas se comportan como funciones, puede reemplazarlas con inline
funciones para resolver este problema.

gcov crea un archivo de registro llamado archivo fuente.gcov que indica cu谩ntas veces cada l铆nea de
un archivo fuente archivofuente.c ha ejecutado. Puede utilizar estos archivos de registro junto con profesor a
ayuda a afinar el rendimiento de sus programas. profesor le da informaci贸n de tiempo
puede utilizar junto con la informaci贸n que obtiene de gcov.

gcov funciona solo en c贸digo compilado con GCC. No es compatible con ning煤n otro perfil.
o mecanismo de cobertura de prueba.

OPCIONES


-h
--ayuda
Mostrar ayuda sobre el uso gcov (en la salida est谩ndar) y salir sin hacer nada
m谩s procesamiento.

-v
--versi贸n
Mostrar el gcov n煤mero de versi贸n (en la salida est谩ndar) y salir sin hacer ning煤n
m谩s procesamiento.

-a
--todos los bloques
Escriba recuentos de ejecuci贸n individuales para cada bloque b谩sico. Normalmente salidas gcov
la ejecuci贸n cuenta solo para los bloques principales de una l铆nea. Con esta opci贸n puedes
determinar si los bloques dentro de una sola l铆nea no se est谩n ejecutando.

-b
--probabilidades de rama
Escriba las frecuencias de las ramas en el archivo de salida y escriba la informaci贸n de resumen de las ramas en el
salida est谩ndar. Esta opci贸n le permite ver con qu茅 frecuencia cada rama de su programa
fue tomada. Las ramas incondicionales no se mostrar谩n, a menos que el -u se da la opci贸n.

-c
- recuentos de ramas
Escriba las frecuencias de las sucursales como el n煤mero de sucursales tomadas, en lugar del porcentaje
de ramas tomadas.

-n
--ninguna salida
No cree el gcov archivo de salida.

-l
--nombres-de-archivos-largos
Cree nombres de archivo largos para los archivos de origen incluidos. Por ejemplo, si el archivo de encabezado xh
contiene c贸digo y se incluy贸 en el archivo C.A, luego corriendo gcov en el archivo C.A
producir谩 un archivo de salida llamado ac ## xhgcov en lugar de xhgcov. Esto puede ser
煤til si xh est谩 incluido en varios archivos de origen y desea ver el individuo
contribuciones. Si usa el -p opci贸n, tanto el nombre de archivo incluido como el incluido
ser谩n nombres de ruta completos.

-p
--preservar-caminos
Conservar la informaci贸n de ruta completa en los nombres de los generados .gcov archivos. Sin
esta opci贸n, solo se utiliza el componente de nombre de archivo. Con esta opci贸n, todos los directorios
se utilizan, con / caracteres traducidos a # caracteres, . componentes de directorio eliminados
e inamovible .. componentes renombrados a ^. Esto es 煤til si los archivos fuente est谩n en
varios directorios diferentes.

-r
- solo relativo
Solo genera informaci贸n sobre archivos de origen con un nombre de ruta relativo (despu茅s del c贸digo fuente).
prefijo elisi贸n). Las rutas absolutas suelen ser archivos de encabezado del sistema y la cobertura de cualquier
las funciones en l铆nea en el mismo normalmente no son interesantes.

-f
- res煤menes de funciones
Res煤menes de salida para cada funci贸n adem谩s del resumen a nivel de archivo.

-o directorio | archivo
- directorio de objetos directorio
--archivo de objeto presentar
Especifique el directorio que contiene los archivos de datos gcov o el nombre de la ruta del objeto.
El .gcnoy .gcda Se buscan archivos de datos para usar esta opci贸n. Si un directorio es
especificado, los archivos de datos est谩n en ese directorio y reciben el nombre del archivo de entrada,
sin su extensi贸n. Si se especifica un archivo aqu铆, los archivos de datos reciben el nombre de
ese archivo, sin su extensi贸n.

-s directorio
--fuente-prefijo directorio
Un prefijo para los nombres de los archivos de origen que se eliminar谩n al generar los archivos de cobertura de salida.
Esta opci贸n es 煤til cuando se crea en un directorio separado, y el nombre de la ruta al
El directorio de origen no se desea al determinar los nombres de los archivos de salida. Tenga en cuenta que esto
La detecci贸n de prefijo se aplica antes de determinar si el archivo de origen es absoluto.

-u
- ramas-incondicionales
Cuando se den las probabilidades de las ramas, incluya las de las ramas incondicionales.
Las ramas incondicionales normalmente no son interesantes.

-d
--display-progreso
Muestra el progreso en la salida est谩ndar.

gcov debe ejecutarse con el directorio actual igual que cuando invoc贸 el
compilador. De lo contrario, no podr谩 localizar los archivos de origen. gcov produce archivos
, que son nombremangled.gcov en el directorio actual. Estos contienen la informaci贸n de cobertura
del archivo fuente al que corresponden. Uno .gcov se produce un archivo para cada fuente (o
header) que contiene el c贸digo, que fue compilado para producir los archivos de datos. los
nombre destrozado parte del nombre del archivo de salida suele ser simplemente el nombre del archivo de origen, pero puede
Ser铆a algo m谩s complicado si el -l or -p se dan opciones. Consulte esas opciones
para obtener m谩s detalles.

Si invocas gcov con varios archivos de entrada, las contribuciones de cada archivo de entrada son
resumido. Normalmente, lo invocar铆a con la misma lista de archivos que el enlace final de
su ejecutable.

El .gcov los archivos contienen el : campos separados junto con el c贸digo fuente del programa. El formato
is

: :

La informaci贸n de bloque adicional puede tener 茅xito en cada l铆nea, cuando se solicita mediante la opci贸n de l铆nea de comando.
El cuenta_de_ejecuci贸n is - para l铆neas que no contienen c贸digo. Las l铆neas no ejecutadas est谩n marcadas #####
or ====, dependiendo de si son accesibles por caminos no excepcionales o solo
rutas excepcionales como los controladores de excepciones de C ++, respectivamente.

Algunas l铆neas de informaci贸n al principio tienen n煤mero de l铆nea de cero. Estas l铆neas de pre谩mbulo son
de la forma

-: 0: :

El orden y el n煤mero de estas l铆neas de pre谩mbulo se incrementar谩 como gcov Desarrollo
progresa --- no conf铆e en que permanezcan sin cambios. Usar etiqueta para localizar un particular
l铆nea de pre谩mbulo.

La informaci贸n adicional del bloque tiene la forma



El informaci贸n es legible por humanos, pero est谩 dise帽ado para ser lo suficientemente simple para el an谩lisis autom谩tico


Al imprimir porcentajes, 0% y 100% solo se imprimen cuando los valores son exactamente 0% y
100% respectivamente. Otros valores que convencionalmente se redondear铆an al 0% o al 100% son
en su lugar, se imprime como el valor no l铆mite m谩s cercano.

Cuando usas gcov, primero debe compilar su programa con dos opciones especiales de GCC:
-fprofile-arcos -cobertura-de-prueba. Esto le dice al compilador que genere m谩s
informaci贸n que necesita gcov (b谩sicamente un diagrama de flujo del programa) y tambi茅n incluye
c贸digo adicional en los archivos de objeto para generar la informaci贸n de perfil adicional necesaria
por gcov. Estos archivos adicionales se colocan en el directorio donde se encuentra el archivo de objeto.
situado.

La ejecuci贸n del programa har谩 que se genere una salida de perfil. Para cada archivo fuente
compilado con -fprofile-arcos, un acompa帽ante .gcda el archivo se colocar谩 en el archivo de objeto
directorio.

Correr gcov con los nombres de los archivos fuente de su programa, ya que los argumentos ahora producir谩n una lista
del c贸digo junto con la frecuencia de ejecuci贸n de cada l铆nea. Por ejemplo, si su programa
se llama tmp.c, esto es lo que ves cuando usas el b谩sico gcov instalaciones:

$ gcc -fprofile-arcs -ftest-coberturas tmp.c
$ a.fuera
$ gcov tmp.c
90.00% de 10 l铆neas fuente ejecutadas en el archivo tmp.c
Creando tmp.c.gcov.

El archivo tmp.c.gcov contiene salida de gcov. Aqu铆 hay una muestra:

-: 0: Fuente: tmp.c
-: 0: Gr谩fico: tmp.gcno
-: 0: Datos: tmp.gcda
-: 0: Ejecuciones: 1
-: 0: Programas: 1
-: 1: #incluir
-: 2:
-: 3: int main (vac铆o)
1: 4: {
1: 5: int i, total;
-: 6:
1: 7: total = 0;
-: 8:
11: 9: para (i = 0; i <10; i ++)
10:10: total + = i;
-: 11:
1:12: si (total! = 45)
#####: 13: printf ("Fallo \ n");
-: 14: m谩s
1:15: printf ("Correcto \ n");
1:16: devuelve 0;
-: 17:}

Cuando se utiliza el -a opci贸n, obtendr谩 recuentos de bloques individuales, y la salida se ve
Me gusta esto:

-: 0: Fuente: tmp.c
-: 0: Gr谩fico: tmp.gcno
-: 0: Datos: tmp.gcda
-: 0: Ejecuciones: 1
-: 0: Programas: 1
-: 1: #incluir
-: 2:
-: 3: int main (vac铆o)
1: 4: {
1: 4 bloques 0
1: 5: int i, total;
-: 6:
1: 7: total = 0;
-: 8:
11: 9: para (i = 0; i <10; i ++)
11: 9 bloques 0
10:10: total + = i;
10: 10 bloques 0
-: 11:
1:12: si (total! = 45)
1: 12 bloques 0
#####: 13: printf ("Fallo \ n");
$$$$$: 13-bloque 0
-: 14: m谩s
1:15: printf ("Correcto \ n");
1: 15 bloques 0
1:16: devuelve 0;
1: 16 bloques 0
-: 17:}

En este modo, cada bloque b谩sico solo se muestra en una l铆nea: la 煤ltima l铆nea del bloque. A
El bloque de varias l铆neas solo contribuir谩 al recuento de ejecuci贸n de esa 煤ltima l铆nea, y otras
no se mostrar谩 que las l铆neas contengan c贸digo, a menos que los bloques anteriores terminen en esas l铆neas. los
Se muestra el recuento total de ejecuci贸n de una l铆nea y las l铆neas siguientes muestran los recuentos de ejecuci贸n.
para bloques individuales que terminan en esa l铆nea. Despu茅s de cada bloque, la rama y la llamada cuentan
del bloque se mostrar谩, si el -b se da la opci贸n.

Debido a la forma en que GCC instrumenta las llamadas, se puede mostrar un recuento de llamadas despu茅s de una l铆nea sin
bloques individuales. Como puede ver, la l铆nea 13 contiene un bloque b谩sico que no se ejecut贸.

Cuando se utiliza el -b opci贸n, su salida se ve as铆:

$ gcov -b tmp.c
90.00% de 10 l铆neas fuente ejecutadas en el archivo tmp.c
80.00% de 5 ramas ejecutadas en archivo tmp.c
80.00% de 5 ramas tomadas al menos una vez en el archivo tmp.c
50.00% de 2 llamadas ejecutadas en archivo tmp.c
Creando tmp.c.gcov.

Aqu铆 hay una muestra de un resultado tmp.c.gcov archivo:

-: 0: Fuente: tmp.c
-: 0: Gr谩fico: tmp.gcno
-: 0: Datos: tmp.gcda
-: 0: Ejecuciones: 1
-: 0: Programas: 1
-: 1: #incluir
-: 2:
-: 3: int main (vac铆o)
la funci贸n principal llamada 1 devolvi贸 1 bloques ejecutados 75%
1: 4: {
1: 5: int i, total;
-: 6:
1: 7: total = 0;
-: 8:
11: 9: para (i = 0; i <10; i ++)
rama 0 tomada 91% (ca铆da)
rama 1 tomada 9%
10:10: total + = i;
-: 11:
1:12: si (total! = 45)
rama 0 tomada 0% (ca铆da)
rama 1 tomada 100%
#####: 13: printf ("Fallo \ n");
llamada 0 nunca ejecutada
-: 14: m谩s
1:15: printf ("Correcto \ n");
llamada 0 llamada 1 devuelto 100%
1:16: devuelve 0;
-: 17:}

Para cada funci贸n, se imprime una l铆nea que muestra cu谩ntas veces se llama a la funci贸n, cu谩nto
muchas veces regresa y qu茅 porcentaje de los bloques de la funci贸n se ejecutaron.

Para cada bloque b谩sico, se imprime una l铆nea despu茅s de la 煤ltima l铆nea del bloque b谩sico que describe
la rama o llamada que finaliza el bloque b谩sico. Puede haber m煤ltiples ramas y llamadas
enumerados para una sola l铆nea de origen si hay varios bloques b谩sicos que terminan en esa l铆nea.
En este caso, las sucursales y las llamadas reciben un n煤mero cada una. No hay una forma sencilla de
mapee estas ramas y devuelva las llamadas a las construcciones de origen. En general, sin embargo, el m谩s bajo
rama numerada o llamada corresponder谩 a la construcci贸n m谩s a la izquierda en la l铆nea fuente.

Para una rama, si se ejecut贸 al menos una vez, entonces un porcentaje que indica el n煤mero de
veces que se tom贸 la rama dividido por el n煤mero de veces que se ejecut贸 la rama se
impreso. De lo contrario, se imprime el mensaje "nunca ejecutado".

Para una llamada, si se ejecut贸 al menos una vez, entonces un porcentaje que indica el n煤mero de
veces la llamada devuelta dividida por el n煤mero de veces que se ejecut贸 la llamada ser谩
impreso. Por lo general, ser谩 el 100%, pero puede ser menor para las funciones que llaman "salir" o
"longjmp" y, por lo tanto, es posible que no regresen cada vez que se llamen.

Los recuentos de ejecuciones son acumulativos. Si el programa de ejemplo se ejecutara de nuevo sin
la eliminaci贸n de la .gcda archivo, el recuento de la cantidad de veces que cada l铆nea en la fuente fue
ejecutado se agregar铆a a los resultados de las ejecuciones anteriores. Esto es potencialmente 煤til
de varias maneras. Por ejemplo, podr铆a usarse para acumular datos sobre una serie de
El programa se ejecuta como parte de un conjunto de verificaci贸n de pruebas o para proporcionar informaci贸n m谩s precisa a largo plazo.
informaci贸n sobre un gran n煤mero de ejecuciones de programas.

Los datos de la .gcda Los archivos se guardan inmediatamente antes de que salga el programa. Para cada
archivo fuente compilado con -fprofile-arcos, el c贸digo de creaci贸n de perfiles primero intenta leer en un
existente .gcda expediente; si el archivo no coincide con el ejecutable (diferente n煤mero de
recuentos de bloques) ignorar谩 el contenido del archivo. Luego agrega la nueva ejecuci贸n
cuenta y finalmente escribe los datos en el archivo.

Gracias a gcov con GCC Optimizaci贸n

Si planeas usar gcov para ayudar a optimizar su c贸digo, primero debe compilar su programa
con dos opciones especiales de GCC: -fprofile-arcos -cobertura-de-prueba. Aparte de eso, puedes
utilizar cualquier otra opci贸n de GCC; pero si quiere demostrar que cada l铆nea de su programa
se ejecut贸, no debe compilar con optimizaci贸n al mismo tiempo. En algunas maquinas
el optimizador puede eliminar algunas l铆neas de c贸digo simples combin谩ndolas con otras l铆neas.
Por ejemplo, un c贸digo como este:

si (a! = b)
c = 1;
m谩s
c = 0;

se puede compilar en una instrucci贸n en algunas m谩quinas. En este caso, no hay forma de
gcov para calcular recuentos de ejecuci贸n separados para cada l铆nea porque no hay separados
c贸digo para cada l铆nea. Por lo tanto, la gcov la salida se ve as铆 si compil贸 el programa
con optimizaci贸n:

100: 12: si (a! = B)
100:13: c = 1;
100: 14: m谩s
100:15: c = 0;

El resultado muestra que este bloque de c贸digo, combinado por optimizaci贸n, se ejecut贸 100 veces.
En cierto sentido, este resultado es correcto, porque solo hab铆a una instrucci贸n que representaba
las cuatro de estas l铆neas. Sin embargo, la salida no indica cu谩ntas veces el resultado
fue 0 y cu谩ntas veces el resultado fue 1.

Las funciones insertables pueden crear recuentos de l铆neas inesperados. Los recuentos de l铆neas se muestran para
c贸digo fuente de la funci贸n insertable, pero lo que se muestra depende de d贸nde est谩 la funci贸n
en l铆nea, o si no est谩 en l铆nea en absoluto.

Si la funci贸n no est谩 en l铆nea, el compilador debe emitir una copia fuera de l铆nea de la
funci贸n, en cualquier archivo objeto que lo necesite. Si archivoA.o y archivoB.o ambos contienen de
cuerpos de l铆nea de una funci贸n inlineable particular, ambos tambi茅n contendr谩n cobertura
cuenta para esa funci贸n. Cuando archivoA.o y archivoB.o est谩n vinculados, el vinculador lo har谩,
en muchos sistemas, seleccione uno de esos cuerpos fuera de l铆nea para todas las llamadas a esa funci贸n,
y eliminar o ignorar el otro. Desafortunadamente, no eliminar谩 los contadores de cobertura.
para el cuerpo de funci贸n no utilizado. Por lo tanto, cuando se instrumenta, todos menos uno de los usos de esa funci贸n
mostrar谩 cero recuentos.

Si la funci贸n est谩 insertada en varios lugares, la estructura de bloques en cada ubicaci贸n podr铆a
no ser el mismo. Por ejemplo, una condici贸n ahora podr铆a calcularse en tiempo de compilaci贸n en
algunos casos. Porque se mostrar谩 la cobertura de todos los usos de la funci贸n en l铆nea
para las mismas l铆neas de origen, los recuentos de l铆neas en s铆 pueden parecer inconsistentes.

Las aplicaciones de larga duraci贸n pueden utilizar las funciones "_gcov_reset" y "_gcov_dump" para
restringir la recopilaci贸n de perfiles a la regi贸n del programa de inter茅s. Llamando a "_gcov_reset (void)"
borrar谩 todos los contadores de perfil a cero, y llamar a "_gcov_dump (void)" har谩 que
informaci贸n de perfil recopilada en ese punto para ser volcada a .gcda archivos de salida.

Use powerpc64le-linux-gnu-gcov-4.8 en l铆nea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    OficinaPiso
    OficinaPiso
    OfficeFloor proporciona inversi贸n de
    control de acoplamiento, con su: - dependencia
    inyecci贸n - inyecci贸n de continuaci贸n -
    inyecci贸n de hilo Para m谩s informaci贸n
    visita el...
    Descargar Office Floor
  • 2
    DivKit
    DivKit
    DivKit es un servidor de c贸digo abierto
    Marco de interfaz de usuario (SDUI). Te permite
    implementar actualizaciones provenientes del servidor para
    diferentes versiones de la aplicaci贸n. Adem谩s, puede ser
    usado para ...
    Descargar DivKit
  • 3
    subconvertidor
    subconvertidor
    Utilidad para convertir entre varios
    formato de suscripci贸n. Usuarios de cohetes sombr铆os
    debe usar ss, ssr o v2ray como destino.
    Puede agregar &remark= a
    HT similar a Telegram...
    Descargar subconvertidor
  • 4
    CHAPOTEO
    CHAPOTEO
    SWASH es un num茅rico de prop贸sito general
    herramienta para simular inestabilidad,
    no hidrost谩tico, de superficie libre,
    fen贸menos de transporte y flujo rotacional
    en aguas costeras como ...
    Descargar SWASH
  • 5
    VBA-M (Archivado - Ahora en Github)
    VBA-M (Archivado - Ahora en Github)
    El proyecto se ha trasladado a
    https://github.com/visualboyadvance-m/visualboyadvance-m
    caracteristicas:Creaci贸n de trucosguardar estadosmulti
    sistema, compatible con gba, gbc, gb, sgb,
    sgb2tu...
    Descargar VBA-M (Archivado - Ahora en Github)
  • 6
    Stacer
    Stacer
    Optimizador y monitorizaci贸n del sistema Linux
    Repositorio de Github:
    https://github.com/oguzhaninan/Stacer.
    P煤blico: Usuarios finales / Escritorio. Usuario
    interfaz: Qt. Programando La...
    Descargar Stacer
  • M谩s "

Comandos de Linux

Ad