InglêsFrancêsEspanhol

Ad


favicon do OnWorks

scan-build-3.8 - Online na nuvem

Execute scan-build-3.8 no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando scan-build-3.8 que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


construção de digitalização - Analisador estático Clang

SINOPSE


construção de digitalização [-ohkvV] [-analisar cabeçalhos] [- habilitar verificador [nome_do_verificador]]
[-desativar-verificador [nome_do_verificador]] [--Socorro] [--help-checkers]
[--html-título [= título]] [--continue] [-plist] [-plist-html] [--status-bugs]
[--use-c ++ [= compiler_path]] [--use-cc [= compiler_path]] [--visualizar]
[-restrições [modelo]] [-maxloop N] [-relatórios sem falhas] [-Estatísticas]
[-loja [modelo]] comando_construção [opções_de_compilação]

DESCRIÇÃO


construção de digitalização é um script Perl que invoca o analisador estático Clang. Opções usadas por
construção de digitalização ou pelo analisador aparecem primeiro, seguido pelo comando_construção e qualquer
opções_de_construção normalmente usado para construir o sistema de destino.

O analisador estático emprega uma longa lista de algoritmos de verificação, consulte CHECKERS. A saída pode ser
escrito em .plist padrão e / ou formato HTML.

As seguintes opções são suportadas:

-analisar cabeçalhos
Analise também funções em # arquivos incluídos.

- habilitar verificador nome_do_verificador, -desativar-verificador nome_do_verificador
Habilitar desabilitar nome_do_verificador. Ver CHECKERS.

-h, --Socorro
Exibir esta mensagem.

--help-checkers
Listar verificadores padrão, consulte CHECKERS.

--html-título[=título]
Especifique o título usado nas páginas HTML geradas. Um título padrão é gerado se
título não é especificado.

-k, --continue
Adicione uma opção "continuar" para comando_construção. Atualmente suporta make e
xcodebuild. Esta é uma opção de conveniência; pode-se especificar esse comportamento diretamente
usando opções de construção.

-o Diretório de destino para arquivos de relatório HTML. Subdiretórios serão criados conforme necessário para
representam invocações separadas do analisador. Se esta opção não for especificada, um
diretório é criado em / Tmp (TMPDIR no Mac OS X) para armazenar os relatórios.

-plist Produza os resultados como um conjunto de arquivos .plist. (Por padrão, a saída de construção de digitalização is
um conjunto de arquivos HTML.)

-plist-html
Produza os resultados como um conjunto de arquivos HTML e .plist

--status-bugs
Defina o status de saída para 1 se forem encontrados bugs potenciais e 0 caso contrário. Por padrão, a saída
status de construção de digitalização Isso é retornado por comando_construção.

--use-c ++[=caminho_compilador]
Adivinhe o compilador padrão para seu código C ++ e Objective-C ++. Use esta opção para
especifique um compilador alternativo.

--use-cc[=caminho_compilador]
Adivinhe o compilador padrão para seu código C e Objective-C. Use esta opção para
especifique um compilador alternativo.

-v Saída detalhada de construção de digitalização e o analisador. Um segundo e terceiro v aumenta
verbosidade.

-V, --visualizar
Visualize os resultados da análise em um navegador da web quando a construção for concluída.

-restrições [modelo]
Especifique o mecanismo de restrição usado pelo analisador. Por padrão, o modelo de 'intervalo' é
usado. Especificar 'básico' usa um modelo de restrição mais simples e menos poderoso usado por
verificador-0.160 e anteriores.

-maxloop N
Especifique o número de vezes que um bloco pode ser visitado antes de desistir. O padrão é 4.
Aumente para uma cobertura mais abrangente a um custo de velocidade.

-relatórios sem falhas
Não crie um subdiretório de 'falhas' que inclua relatórios de falhas do analisador e
arquivos de origem pré-processados.

-Estatísticas Gera estatísticas de visitação para o projeto em análise.

-loja [modelo]
Especifique o modelo de loja usado pelo analisador. Por padrão, o modelo de loja 'região'
é usado. 'region' especifica um modelo de armazenamento sensível ao campo. Os usuários também podem especificar
'básico', que é muito menos preciso, mas pode analisar o código mais rapidamente. 'básico' era
o modelo de armazenamento padrão para checker-0.221 e anteriores.

SAIR STATUS


construção de digitalização retorna o valor retornado por comando_construção a menos que --status-bugs or --continue
é usado.

CHECKERS


Os verificadores listados abaixo podem ser ativados / desativados usando o - habilitar verificador e
-desativar-verificador opções. Um grupo padrão de verificadores é executado, a menos que explicitamente desativado.
Exatamente quais verificadores constituem o grupo padrão é uma função do sistema operacional em
usar; eles estão listados com --help-checkers.

core.AdjustedReturnValue
Verifique se o valor de retorno de uma chamada de função é diferente do chamador
espera (por exemplo, de chamadas por meio de ponteiros de função).

core.AttributeNonNull
Verifique se há ponteiros nulos passados ​​como argumentos para uma função cujos argumentos são
marcado com o atributo 'não nulo'.

núcleo.CallAndMessage
Verifique se há erros lógicos para chamadas de função e expressões de mensagem Objective-C
(por exemplo, argumentos não inicializados, ponteiros de função nula).

núcleo.DivideZero
Verifique a divisão por zero.

núcleo.NullDereference
Verifique se há desreferências de ponteiros nulos.

núcleo.StackAddressEscape
Verifique se os endereços para empilhar memória não escapam à função.

core.UndefinedBinaryOperatorResult
Verifique se há resultados indefinidos de operadores binários.

núcleo.VLASize
Verifique se há declarações de VLA de tamanho indefinido ou zero.

core.builtin.BuiltinFunctions
Avalie as funções embutidas do compilador, por exemplo alocar().

core.builtin.NoReturnFunctions
Avalie as funções de 'pânico' que não retornam ao chamador.

core.uninitialized.ArraySubscript
Verifique se há valores não inicializados usados ​​como subscritos da matriz.

núcleo.não inicializado.Atribuir
Verifique a atribuição de valores não inicializados.

núcleo.não inicializado.Ramo
Verifique se há valores não inicializados usados ​​como condições de ramificação.

core.uninitialized.CapturedBlockVariable
Verifique se há blocos que capturam valores não inicializados.

core.uninitialized.UndefReturn
Verifique se há valores não inicializados que estão sendo retornados ao chamador.

código morto.DeadStores
Verifique os valores armazenados em variáveis ​​que nunca são lidas depois.

depurar.DumpCFG
Exibir gráficos de controle-fluxo.

debug.DumpCallGraph
Exibir gráfico de chamadas.

debug.DumpDominators
Imprima a árvore de dominância para um determinado gráfico de fluxo de controle.

debug.DumpLiveVars
Imprima os resultados da análise de variáveis ​​ao vivo.

depurar.Estatísticas
Emita avisos com estatísticas do analisador.

debug.TaintTest
Marque símbolos contaminados como tais.

depurar.ViewCFG
Visualize gráficos de controle-fluxo usando GraphVizGenericName.

debug.ViewCallGraph
Ver gráfico de chamadas usando GraphVizGenericName.

llvm.Convenções
Verifique o código para as convenções da base de código LLVM.

osx.API Verifique os usos adequados de várias APIs do Mac OS X.

osx.AtomicCAS
Avalie chamadas para OSATômico funções.

osx.SecKeychainAPI
Verifique os usos adequados das APIs Secure Keychain.

osx.cocoa.AtSync
Verifique se há ponteiros nulos usados ​​como mutexes para @synchronized.

osx.cocoa.ClassRelease
Marque para enviar 'reter', 'liberar' ou 'autorelease' diretamente para uma classe.

osx.cocoa.IncompatívelMethodTypes
Avisar sobre assinaturas de método Objective-C com incompatibilidades de tipo.

osx.cocoa.NSAutoreleasePool
Avisar para usos subótimos de NSAutoreleasePool no modo Objective-C GC.

osx.cocoa.NSError
Verifique o uso dos parâmetros NSError **.

osx.cocoa.NilArg
Verifique se há argumentos nulos proibidos para chamadas de método Objective-C.

osx.cocoa.RetainCount
Verifique se há vazamentos e gerenciamento incorreto da contagem de referência.

osx.cocoa.SelfInit
Verifique se 'self' foi inicializado corretamente dentro de um método inicializador.

osx.cocoa.UnusedIvars
Avise sobre ivars privados que nunca são usados.

osx.cocoa.VariadicMethodTypes
Verifique se há passagem de tipos não Objective-C para métodos variáveis ​​que esperam apenas
Tipos Objective-C.

osx.coreFoundation.CFError
Verifique o uso dos parâmetros CFErrorRef *.

osx.coreFoundation.CFNumber
Verifique os usos adequados de CFNumberCriar().

osx.coreFoundation.CFRetainRelease
Verifique se há argumentos nulos para CFReter() CFR Release(), e CFMakeColecionável().

osx.coreFoundation.containers.OutOfBounds
Verifica se há índice fora dos limites ao usar o CFArray API.

osx.coreFoundation.containers.PointerSizedValues
Avisa se CFArray, CFDicionárioou CFSet são criados com valores de tamanho sem ponteiro.

segurança.FloatLoopCounter
Avisa sobre o uso de um valor de ponto flutuante como um contador de loop (CERT: FLP30-C, FLP30-CPP).

security.insecureAPI.UncheckedReturn
Avisa sobre o uso de funções cujos valores de retorno devem ser sempre verificados.

segurança.insecureAPI.getpw
Avisar sobre o uso de obterpw().

segurança.insecureAPI.gets
Avisar sobre o uso de fica().

segurança.insecureAPI.mkstemp
Avisar quando mkstemp() é passado por menos de 6 X na string de formato.

segurança.insecureAPI.mktemp
Avisar sobre o uso de mktemp().

segurança.insecureAPI.rand
Avisar sobre o uso de rand() acaso(), e funções relacionadas.

segurança.insecureAPI.strcpy
Avisar sobre o uso de forte() e strcat().

segurança.insecureAPI.vfork
Avisar sobre o uso de garfo().

unix.API
Verifique as chamadas para várias funções UNIX / Posix.

unix.Malloc
Verifique se há vazamentos de memória, double free e use-after-free.

unix.cstring.BadSizeArg
Verifique o argumento de tamanho passado nas funções de string C para erros comuns
padrões.

unix.cstring.NullArg
Verifique se há ponteiros nulos sendo passados ​​como argumentos para funções de string C.

EXEMPLO


construção de digitalização -o / tmp / myhtmldir fazer -j4

O exemplo acima faz com que os relatórios de análise sejam depositados em um subdiretório de
/ tmp / myhtmldir e correr fazer com o -j4 opção. Um subdiretório diferente é criado
cada vez construção de digitalização analisa um projeto. O analisador deve suportar a maioria das compilações paralelas,
mas não compilações distribuídas.

AUTORES


construção de digitalização foi escrito por Ted Kremenek. Documentação fornecida por
James K. Lowden[email protegido]>.

Use scan-build-3.8 online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad