InglésFrancésEspañol

Ad


icono de página de OnWorks

scan-build-3.8: en línea en la nube

Ejecute scan-build-3.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 scan-build-3.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


escanear-construir - Analizador estático Clang

SINOPSIS


escanear-construir [-ohkvV] [-analizar-encabezados] [-verificador de habilitación [nombre_comprobador]]
[-deshabilitar-verificador [nombre_comprobador]] [--ayuda] [- verificadores de ayuda]
[--html-título [= título]] [--sigue adelante] [-plista] [-plista-html] [- errores de estado]
[--use-c ++ [= ruta_compilador]] [--uso-cc [= ruta_compilador]] [--vista]
[-restricciones [modelo]] [-maxloop N] [-informes-sin-fallas] [-estadísticas]
[-Tienda [modelo]] construir_comando [opciones_de_construcción]

DESCRIPCIÓN


escanear-construir es un script de Perl que invoca el analizador estático de Clang. Opciones utilizadas por
escanear-construir o por el analizador aparecen primero, seguido por el construir_comando y cualquier
construir_opciones normalmente se utiliza para construir el sistema de destino.

El analizador estático emplea una larga lista de algoritmos de verificación, consulte JUEGO DE DAMAS. La salida puede ser
escrito en formato estándar .plist y / o HTML.

Se admiten las siguientes opciones:

-analizar-encabezados
También analiza funciones en archivos #incluidos.

-verificador de habilitación nombre_comprobador, -deshabilitar-verificador nombre_comprobador
Habilitar deshabilitar nombre_comprobador. Vea JUEGO DE DAMAS.

-h, --ayuda
Muestra este mensaje.

- verificadores de ayuda
Lista de verificadores predeterminados, consulte JUEGO DE DAMAS.

--html-título[=título]
Especifique el título utilizado en las páginas HTML generadas. Se genera un título predeterminado si
título no se especifica

-k, --sigue adelante
Agrega una opción "continuar" a construir_comando. Actualmente es compatible con la marca y
xcodebuild. Ésta es una opción de conveniencia; se puede especificar este comportamiento directamente
usando opciones de construcción.

-o Directorio de destino para archivos de informes HTML. Se crearán subdirectorios según sea necesario para
representan invocaciones separadas del analizador. Si no se especifica esta opción,
el directorio se crea en / Tmp (TMPDIR en Mac OS X) para almacenar los informes.

-plista Genere los resultados como un conjunto de archivos .plist. (Por defecto, la salida de escanear-construir is
un conjunto de archivos HTML.)

-plista-html
Genere los resultados como un conjunto de archivos HTML y .plist

- errores de estado
Establezca el estado de salida en 1 si encontró errores potenciales y 0 en caso contrario. Por defecto la salida
estado de escanear-construir es eso devuelto por construir_comando.

--use-c ++[=ruta_del_compilador]
Adivina el compilador predeterminado para tu código C ++ y Objective-C ++. Utilice esta opción para
especificar un compilador alternativo.

--uso-cc[=ruta_del_compilador]
Adivina el compilador predeterminado para tu código C y Objective-C. Utilice esta opción para
especificar un compilador alternativo.

-v Salida detallada de escanear-construir y el analizador. Un segundo y un tercero v aumentos
verbosidad.

-V, --vista
Vea los resultados del análisis en un navegador web cuando se complete la compilación.

-restricciones [modelo]
Especifique el motor de restricción utilizado por el analizador. Por defecto, el modelo de 'rango' es
usó. Especificar 'básico' usa un modelo de restricción más simple y menos poderoso usado por
checker-0.160 y versiones anteriores.

-maxloop N
Especifique la cantidad de veces que se puede visitar un bloque antes de darse por vencido. El valor predeterminado es 4.
Aumente para obtener una cobertura más completa a un costo de velocidad.

-informes-sin-fallas
No cree un subdirectorio de 'fallas' que incluya informes de fallas del analizador y
archivos fuente preprocesados.

-estadísticas Genera estadísticas de visitas para el proyecto que se analiza.

-Tienda [modelo]
Especifique el modelo de tienda utilizado por el analizador. De forma predeterminada, el modelo de tienda 'región'
se utiliza. 'región' especifica un modelo de tienda sensible al campo. Los usuarios también pueden especificar
'básico', que es mucho menos preciso pero puede analizar el código más rápidamente. 'básico' era
el modelo de tienda predeterminado para checker-0.221 y versiones anteriores.

SALIR ESTADO


escanear-construir devuelve el valor devuelto por construir_comando a menos que - errores de estado or --sigue adelante
se utiliza.

JUEGO DE DAMAS


Las fichas que se enumeran a continuación se pueden habilitar / deshabilitar usando el -verificador de habilitación y
-deshabilitar-verificador opciones. Se ejecuta un grupo predeterminado de verificadores a menos que se deshabilite explícitamente.
Exactamente qué verificadores constituyen el grupo predeterminado es una función del sistema operativo en
usar; están listados con - verificadores de ayuda.

núcleo.AdjustedReturnValue
Verifique si el valor de retorno de una llamada de función es diferente al de la persona que llama
espera (por ejemplo, de llamadas a través de punteros de función).

core.AttributeNonNull
Compruebe si hay punteros nulos pasados ​​como argumentos a una función cuyos argumentos son
marcado con el atributo 'nonnull'.

núcleo.CallAndMessage
Verifique errores lógicos para llamadas a funciones y expresiones de mensajes de Objective-C
(por ejemplo, argumentos no inicializados, punteros de función nula).

núcleo.DivideZero
Compruebe la división por cero.

núcleo.NullDereference
Compruebe si hay desreferencias de punteros nulos.

núcleo.StackAddressEscape
Compruebe que las direcciones de la memoria de pila no escapen de la función.

core.UndefinidoBinaryOperatorResult
Compruebe los resultados indefinidos de los operadores binarios.

núcleo.VLASize
Compruebe si hay declaraciones de VLA de tamaño indefinido o cero.

core.builtin.BuiltinFunctions
Evaluar funciones integradas del compilador, p. Ej. asignar().

core.builtin.NoReturnFunctions
Evalúe las funciones de "pánico" que se sabe que no regresan a la persona que llama.

core.sin inicializar.ArraySubscript
Compruebe los valores no inicializados utilizados como subíndices de matriz.

núcleo.sin inicializar.Asignar
Compruebe la asignación de valores no inicializados.

núcleo.no inicializado.Rama
Compruebe los valores no inicializados utilizados como condiciones de bifurcación.

core.uninitialized.CapturedBlockVariable
Busque bloques que capturen valores no inicializados.

core.uninitialized.UndefReturn
Compruebe si se devuelven valores no inicializados a la persona que llama.

código muerto.DeadStores
Compruebe los valores almacenados en las variables que nunca se leen después.

depuración.DumpCFG
Mostrar gráficos de flujo de control.

depuración.DumpCallGraph
Mostrar gráfico de llamadas.

depuración.DumpDominators
Imprima el árbol de dominancia para un gráfico de flujo de control determinado.

depuración.DumpLiveVars
Imprima los resultados del análisis de variables en vivo.

depuración.Estadísticas
Emite advertencias con estadísticas del analizador.

depuración.TaintTest
Marque los símbolos contaminados como tales.

depuración.ViewCFG
Ver gráficos de flujo de control usando GraphViz.

depurar.ViewCallGraph
Ver gráfico de llamadas usando GraphViz.

llvm.Convenciones
Verifique el código para conocer las convenciones de la base de código LLVM.

osx.API Compruebe el uso correcto de varias API de Mac OS X.

osx.AtomicCAS
Evaluar llamadas a AOSatómico funciones.

osx.SecKeychainAPI
Verifique el uso adecuado de las API de Secure Keychain.

osx.cocoa.AtSync
Compruebe si hay punteros nulos utilizados como exclusiones mutuas para @synchronized.

osx.cocoa.ClassRelease
Verifique el envío de 'retener', 'liberación' o 'liberación automática' directamente a una Clase.

osx.cocoa.Tipos de métodos incompatibles
Advertir sobre firmas de métodos Objective-C con incompatibilidades de tipos.

osx.cocoa.NSAutoreleasePool
Advertir sobre usos subóptimos de NSAutoreleasePool en modo Objective-C GC.

osx.cocoa.NSError
Verifique el uso de los parámetros NSError **.

osx.cocoa.NilArg
Compruebe si hay argumentos nulos prohibidos para las llamadas al método Objective-C.

osx.cocoa.RetainCount
Compruebe si hay fugas y una gestión inadecuada del recuento de referencias.

osx.cocoa.SelfInit
Compruebe que 'self' se haya inicializado correctamente dentro de un método de inicialización.

osx.cocoa.UnusedIvars
Advierte sobre ivars privados que nunca se utilizan.

osx.cocoa.VariadicMethodTypes
Compruebe si pasan tipos que no son Objective-C a métodos variadic que solo esperan
Tipos Objective-C.

osx.coreFoundation.CFError
Verifique el uso de los parámetros CFErrorRef *.

osx.coreFoundation.CFNúmero
Compruebe los usos adecuados de CFNumberCrear().

osx.coreFoundation.CFRetainRelease
Compruebe si hay argumentos nulos para CFRetener() CFLanzamiento(), y CFMakeColeccionable().

osx.coreFoundation.containers.OutOfBounds
Comprueba si el índice está fuera de los límites cuando se utiliza el matriz CF API.

osx.coreFoundation.containers.PointerSizedValues
Advierte si matriz CF, CFDiccionarioo CFSet se crean con valores sin tamaño de puntero.

seguridad.FloatLoopCounter
Advertir sobre el uso de un valor de punto flotante como contador de bucle (CERT: FLP30-C, FLP30-CPP).

seguridad.insecureAPI.UncheckedReturn
Advierte sobre el uso de funciones cuyos valores de retorno deben comprobarse siempre.

seguridad.insecureAPI.getpw
Advertir sobre los usos de obtener().

seguridad.insecureAPI.obtiene
Advertir sobre los usos de se().

seguridad.insecureAPI.mkstemp
Advertir cuando mktemp() se pasa menos de 6 X en la cadena de formato.

seguridad.insecureAPI.mktemp
Advertir sobre los usos de mktemp().

seguridad.insecureAPI.rand
Advertir sobre los usos de rand() azar() y funciones relacionadas.

seguridad.insecureAPI.strcpy
Advertir sobre los usos de estresante() y strcat().

seguridad.insecureAPI.vfork
Advertir sobre los usos de horquilla().

unix.API
Verifique las llamadas a varias funciones de UNIX / Posix.

unix.malloc
Compruebe si hay fugas de memoria, doble libre y uso posterior.

unix.cstring.BadSizeArg
Verifique el argumento de tamaño pasado a las funciones de cadena C en busca de errores comunes
.

unix.cstring.NullArg
Compruebe que no se pasen punteros nulos como argumentos a funciones de cadena C.

EJEMPLO


escanear-construir -o / tmp / myhtmldir para lograr -j4

El ejemplo anterior hace que los informes de análisis se depositen en un subdirectorio de
/ tmp / myhtmldir y correr para lograr con el -j4 opción. Se crea un subdirectorio diferente
cada vez escanear-construir analiza un proyecto. El analizador debe admitir la mayoría de las compilaciones paralelas,
pero no compilaciones distribuidas.

AUTORES


escanear-construir fue escrito por Ted Kremenek. Documentación aportada por
James K. Lowden[email protected]>.

Utilice scan-build-3.8 en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad