EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

scan-build-3.8 - Online în cloud

Rulați scan-build-3.8 în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda scan-build-3.8 care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


scanare-construire — Analizor static Clang

REZUMAT


scanare-construire [-ohkvV] [-analiza-anteturi] [-activare-verificator [checker_name]]
[-dezactivare-verificator [checker_name,--Ajutor] [--help-checkers]
[--html-title [=titlu,--continuă] [-plist] [-plist-html] [--status-bug-uri]
[--use-c++ [= calea_compilatorului,--use-cc [= calea_compilatorului,--vedere]
[-constrângeri [model,-maxloop N] [-fără-rapoarte-eșecuri] [-statistici]
[-magazin [model]] build_command [build_options]

DESCRIERE


scanare-construire este un script Perl care invocă analizatorul static Clang. Opțiuni utilizate de
scanare-construire sau de analizor apar mai întâi, urmat de build_command și orice
build_options utilizat în mod normal pentru a construi sistemul țintă.

Analizorul static folosește o listă lungă de algoritmi de verificare, vezi DAME. Ieșirea poate fi
scris în format standard .plist și/sau HTML.

Sunt acceptate următoarele opțiuni:

-analiza-anteturi
Analizați și funcțiile din fișierele #incluse.

-activare-verificator checker_name, -dezactivare-verificator checker_name
Permite dezactivarea checker_name. Vedea DAME.

-h, --Ajutor
Afișează acest mesaj.

--help-checkers
Listați damele implicite, vezi DAME.

--html-title[=titlu]
Specificați titlul folosit pe paginile HTML generate. Se generează un titlu implicit dacă
titlu nu este specificat.

-k, --continuă
Adăugați o opțiune „continuați” la build_command. În prezent suportă make și
xcodebuild. Aceasta este o opțiune de confort; se poate specifica acest comportament direct
folosind opțiuni de construcție.

-o Director țintă pentru fișierele de raport HTML. Subdirectoarele vor fi create după cum este necesar
reprezintă invocări separate ale analizorului. Dacă această opțiune nu este specificată, a
directorul este creat în / tmp (TMPDIR pe Mac OS X) pentru a stoca rapoartele.

-plist Ieșiți rezultatele ca un set de fișiere .plist. (În mod implicit, ieșirea lui scanare-construire is
un set de fișiere HTML.)

-plist-html
Ieșiți rezultatele ca un set de fișiere HTML și .plist

--status-bug-uri
Setați starea de ieșire la 1 dacă a găsit erori potențiale și la 0 în caz contrar. În mod implicit, ieșirea
starea scanare-construire este acela returnat de build_command.

--use-c++[=calea_compilatorului]
Ghiciți compilatorul implicit pentru codul dvs. C++ și Objective-C++. Utilizați această opțiune pentru a
specificați un compilator alternativ.

--use-cc[=calea_compilatorului]
Ghiciți compilatorul implicit pentru codul dvs. C și Objective-C. Utilizați această opțiune pentru a
specificați un compilator alternativ.

-v Ieșire verbală de la scanare-construire si analizorul. Un al doilea și al treilea v creșteri
verbozitatea.

-V, --vedere
Vizualizați rezultatele analizei într-un browser web când se finalizează construcția.

-constrângeri [model]
Specificați motorul de contracție utilizat de analizor. În mod implicit, modelul „gamă” este
folosit. Specificarea „de bază” folosește un model de constrângere mai simplu și mai puțin puternic utilizat de
checker-0.160 și mai devreme.

-maxloop N
Specificați de câte ori poate fi vizitat un bloc înainte de a renunța. Implicit este 4.
Măriți pentru o acoperire mai cuprinzătoare cu un cost al vitezei.

-fără-rapoarte-eșecuri
Nu creați un subdirector „eșecuri” care să includă rapoarte de blocare a analizorului și
fișiere sursă preprocesate.

-statistici Generează statistici privind vizitele pentru proiectul analizat.

-magazin [model]
Specificați modelul magazinului utilizat de analizor. În mod implicit, modelul magazinului „regiune”.
este folosit. „regiune” specifică un model de magazin sensibil la câmp. De asemenea, utilizatorii pot specifica
„de bază”, care este mult mai puțin precis, dar poate analiza mai rapid codul. „de bază” a fost
modelul implicit de magazin pentru checker-0.221 și anterioare.

EXIT STAREA


scanare-construire returnează valoarea returnată de build_command dacă nu --status-bug-uri or --continuă
este folosit.

DAME


Verificatoarele enumerate mai jos pot fi activate/dezactivate folosind -activare-verificator și
-dezactivare-verificator Opțiuni. Un grup implicit de verificatori este rulat, dacă nu este dezactivat în mod explicit.
Exact ce dame constituie grupul implicit este o funcție a sistemului de operare în
utilizare; sunt enumerate cu --help-checkers.

core.AdjustedReturnValue
Verificați dacă valoarea returnată a unui apel de funcție este diferită de cea a apelantului
așteaptă (de exemplu, de la apeluri prin indicatori de funcție).

core.AttributeNonNull
Verificați pentru pointeri nuli transmisi ca argumente unei funcții ale cărei argumente sunt
marcat cu atributul „nonnull”.

core.CallAndMessage
Verificați erorile logice pentru apelurile de funcții și expresiile de mesaje Objective-C
(de exemplu, argumente neinițializate, indicatori de funcție nulă).

miez.DivideZero
Verificați împărțirea la zero.

miez.NullDereference
Verificați pentru dereferențe ale pointerilor nuli.

core.StackAddressEscape
Verificați dacă adresele din memoria stivă nu scapă din funcție.

core.UndefinedBinaryOperatorResult
Verificați rezultatele nedefinite ale operatorilor binari.

miez.VLASize
Verificați declarațiile VLA de dimensiune nedefinită sau zero.

core.builtin.BuiltinFunctions
Evaluați funcțiile încorporate ale compilatorului, de ex aloca,

core.builtin.NoReturnFunctions
Evaluați funcțiile de „panică” despre care se știe că nu se întorc la apelant.

core.neinițializat.ArraySubscript
Verificați valorile neinițializate utilizate ca subscripte ale matricei.

miez.neinițializat.Atribuiți
Verificați pentru alocarea valorilor neinițializate.

miez.neiniţializat.Filială
Verificați valorile neinițializate utilizate ca condiții de ramură.

core.neinițializat.CapturedBlockVariable
Verificați blocurile care captează valori neinițializate.

core.neinițializat.UndefReturn
Verificați dacă valorile neinițializate sunt returnate apelantului.

deadcode.DeadStores
Verificați valorile stocate în variabile care nu sunt citite niciodată ulterior.

depanare.DumpCFG
Afișează grafice de control-flux.

depanare.DumpCallGraph
Afișează graficul apelului.

depanare.DumpDominators
Tipăriți arborele de dominanță pentru un grafic Control-Flow dat.

depanare.DumpLiveVars
Imprimați rezultatele analizei variabilelor live.

depanare.Statistici
Emiteți avertismente cu statisticile analizorului.

depanare.TaintTest
Marcați simbolurile contaminate ca atare.

depanare.ViewCFG
Vizualizați grafice de control-flux folosind GraphViz.

depanare.ViewCallGraph
Vizualizați graficul apelurilor folosind GraphViz.

llvm.Conventii
Verificați codul pentru convențiile de bază de cod LLVM.

osx.API Verificați utilizările adecvate ale diferitelor API-uri Mac OS X.

osx.AtomicCAS
Evaluați apelurile către OSAtomic funcții.

osx.SecKeychainAPI
Verificați utilizarea corectă a API-urilor Secure Keychain.

osx.cocoa.AtSync
Verificați pentru pointeri nuli folosiți ca mutexuri pentru @synchronized.

osx.cocoa.ClassRelease
Verificați dacă trimiteți „reține”, „eliberare” sau „eliberare automată” direct către o clasă.

osx.cacao.IncompatibleMethodTypes
Avertizați despre semnăturile metodei Objective-C cu incompatibilități de tip.

osx.cocoa.NSAutoreleasePool
Avertizați pentru utilizări suboptime ale NSAutoreleasePool în modul Objective-C GC.

osx.cocoa.NSError
Verificați utilizarea parametrilor NSError**.

osx.cacao.NilArg
Verificați dacă nu există argumente interzise la apelurile la metoda Objective-C.

osx.cacao.RetainCount
Verificați dacă există scurgeri și gestionarea necorespunzătoare a numărului de referințe.

osx.cacao.SelfInit
Verificați dacă „self” este inițializat corect în cadrul unei metode de inițializare.

osx.cacao.UnusedIvars
Avertizați despre ivarurile private care nu sunt niciodată folosite.

osx.cacao.VariadicMethodTypes
Verificați dacă sunt transmise tipuri non-Obiective-C la metode variadice care se așteaptă numai
Tipuri obiectiv-C.

osx.coreFoundation.CFError
Verificați utilizarea parametrilor CFErrorRef*.

osx.coreFoundation.CFNumber
Verificați utilizarea corectă a CFNumberCreate,

osx.coreFoundation.CFRetainRelease
Verificați dacă există argumente nule pentru CFReţine, CFRelease(), și CFMakeCollectable,

osx.coreFoundation.containers.OutOfBounds
Verifică indexul în afara limitelor atunci când se utilizează CFArray API-ul.

osx.coreFoundation.containers.PointerSizedValues
Avertizează dacă CFArray, CFDictionary, Sau CFSet sunt create cu valori non-pointer-size.

securitate.FloatLoopCounter
Avertizați cu privire la utilizarea unei valori în virgulă mobilă ca contor de buclă (CERT: FLP30-C, FLP30-CPP).

security.insecureAPI.UncheckedReturn
Avertizați asupra utilizării funcțiilor ale căror valori returnate trebuie verificate întotdeauna.

security.insecureAPI.getpw
Avertizați asupra utilizărilor getpw,

security.insecureAPI.gets
Avertizați asupra utilizărilor devine,

security.insecureAPI.mkstemp
Avertizați când mkstemp() este trecut mai puțin de 6 X în șirul de format.

security.insecureAPI.mktemp
Avertizați asupra utilizărilor mktemp,

security.insecureAPI.rand
Avertizați asupra utilizărilor rand, aleator(), și funcții conexe.

security.insecureAPI.strcpy
Avertizați asupra utilizărilor strcpy() și strcat,

security.insecureAPI.vfork
Avertizați asupra utilizărilor vfurca,

unix.API
Verificați apelurile către diferite funcții UNIX/Posix.

unix.Malloc
Verificați dacă există scurgeri de memorie, dublu gratuit și utilizare după eliberare.

unix.cstring.BadSizeArg
Verificați argumentul dimensiune transmis în funcțiile șir C pentru erori comune
modele.

unix.cstring.NullArg
Verificați dacă pointerii nuli sunt transferați ca argumente la funcțiile șir de caractere C.

EXEMPLU


scanare-construire -o /tmp/myhtmldir face -j4

Exemplul de mai sus face ca rapoartele de analiză să fie depuse într-un subdirector de
/tmp/myhtmldir și să alerge face cu -j4 opțiune. Este creat un alt subdirector
de fiecare data scanare-construire analizează un proiect. Analizorul ar trebui să accepte majoritatea versiunilor paralele,
dar nu build-uri distribuite.

AUTORI


scanare-construire a fost scris de Ted Kremenek. Documentatie adusa de
James K. Lowden[e-mail protejat]>.

Utilizați scan-build-3.8 online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad