EngelsFransSpaans

Ad


OnWorks-favicon

scan-build-3.8 - Online in de cloud

Voer scan-build-3.8 uit in OnWorks gratis hostingprovider via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht scan-build-3.8 die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


scan-opbouw — Clang statische analysator

KORTE INHOUD


scan-opbouw [-ohkvV] [-analyseer-headers] [-enable-checker [controleur_naam]]
[-checker uitschakelen [controleur_naam,--help] [--help-checkers]
[--html-titel [=titel,--blijven gaan] [-plijst] [-plist-html] [--status-bugs]
[--gebruik-c++ [=compiler_pad,--gebruik-cc [=compiler_pad,--weergave]
[-beperkingen [model,-maxloop N] [-no-failure-rapporten] [-statistieken]
[-op te slaan [model]] build_commando [bouwopties]

PRODUCTBESCHRIJVING


scan-opbouw is een Perl-script dat de statische analysator Clang aanroept. Opties gebruikt door
scan-opbouw of door de analysator verschijnen eerst, gevolgd door de build_commando En elk
build_opties normaal gebruikt om het doelsysteem te bouwen.

De statische analysator maakt gebruik van een lange lijst met controlealgoritmen, zie CHECKERS. Uitgang kan zijn:
geschreven in standaard .plist en/of HTML-formaat.

De volgende opties worden ondersteund:

-analyseer-headers
Analyseer ook functies in #included-bestanden.

-enable-checker controleur_naam, -checker uitschakelen controleur_naam
Inschakelen / uitschakelen controleur_naam. Zien CHECKERS.

-h, --help
Geef dit bericht weer.

--help-checkers
Lijst standaard checkers, zie CHECKERS.

--html-titel[=titel]
Geef de titel op die wordt gebruikt op gegenereerde HTML-pagina's. Er wordt een standaardtitel gegenereerd als
titel is niet gespecificeerd.

-k, --blijven gaan
Voeg een "ga door"-optie toe om build_commando. Ondersteunt momenteel maken en
xcodebuild. Dit is een gemaksoptie; men kan dit gedrag direct specificeren
bouwopties gebruiken.

-o Doelmap voor HTML-rapportbestanden. Subdirectories worden aangemaakt als dat nodig is om:
vertegenwoordigen afzonderlijke aanroepen van de analysator. Als deze optie niet is opgegeven, a
directory is aangemaakt in / tmp (TMPDIR op Mac OS X) om de rapporten op te slaan.

-plijst Voer de resultaten uit als een set .plist-bestanden. (Standaard is de uitvoer van scan-opbouw is
een set HTML-bestanden.)

-plist-html
Voer de resultaten uit als een set HTML- en .plist-bestanden

--status-bugs
Stel de exit-status in op 1 als er mogelijke bugs zijn gevonden en anders op 0. Standaard de uitgang
status van scan-opbouw is dat geretourneerd door? build_commando.

--gebruik-c++[=compiler_pad]
Raad de standaardcompiler voor uw C++- en Objective-C++-code. Gebruik deze optie om
specificeer een alternatieve compiler.

--gebruik-cc[=compiler_pad]
Raad de standaardcompiler voor uw C- en Objective-C-code. Gebruik deze optie om
specificeer een alternatieve compiler.

-v Uitgebreide uitvoer van scan-opbouw en de analysator. Een tweede en derde v neemt toe
breedsprakigheid.

-V, --weergave
Bekijk analyseresultaten in een webbrowser wanneer de build is voltooid.

-beperkingen [model]
Geef de contraint-engine op die door de analysator wordt gebruikt. Standaard is het 'bereik'-model
gebruikt. Het specificeren van 'basis' maakt gebruik van een eenvoudiger, minder krachtig beperkingsmodel dat wordt gebruikt door
checker-0.160 en eerder.

-maxloop N
Specificeer het aantal keren dat een blok bezocht kan worden voordat u opgeeft. Standaard is 4.
Verhoog voor een uitgebreidere dekking tegen een prijs van snelheid.

-no-failure-rapporten
Maak geen submap 'mislukkingen' die crashrapporten van de analyser bevat en
voorbewerkte bronbestanden.

-statistieken Genereert bezoekstatistieken voor het project dat wordt geanalyseerd.

-op te slaan [model]
Geef het winkelmodel op dat door de analysator wordt gebruikt. Standaard het 'regio' winkelmodel
is gebruikt. 'regio' specificeert een veldgevoelig winkelmodel. Gebruikers kunnen ook specificeren:
'basic' dat veel minder nauwkeurig is, maar code sneller kan analyseren. 'basis' was
het standaard winkelmodel voor checker-0.221 en eerder.

EXIT STATUS


scan-opbouw geeft de waarde terug die wordt geretourneerd door build_commando tenzij --status-bugs or --blijven gaan
is gebruikt.

CHECKERS


De onderstaande schijven kunnen worden in-/uitgeschakeld met behulp van de -enable-checker en
-checker uitschakelen opties. Een standaardgroep checkers wordt uitgevoerd, tenzij expliciet uitgeschakeld.
Welke schijven de standaardgroep precies vormen, hangt af van het besturingssysteem in
gebruik maken van; ze staan ​​vermeld met --help-checkers.

core.AdjustedReturnValue
Controleer of de geretourneerde waarde van een functieaanroep anders is dan de aanroeper
verwacht (bijvoorbeeld van oproepen via functiewijzers).

core.AttribuutNonNull
Controleer op null-pointers die als argumenten zijn doorgegeven aan een functie waarvan de argumenten zijn
gemarkeerd met het kenmerk 'nonnull'.

kern.CallAndMessage
Controleer op logische fouten voor functieaanroepen en Objective-C-berichtexpressies
(bijv. niet-geïnitialiseerde argumenten, null-functieaanwijzers).

kern.DivideZero
Controleer op deling door nul.

core.NullDereferentie
Controleer op dereferenties van null-pointers.

core.StackAddressEscape
Controleer of adressen om geheugen te stapelen niet aan de functie ontsnappen.

core.UndefinedBinaryOperatorResult
Controleer op ongedefinieerde resultaten van binaire operatoren.

kern.VLASmaat
Controleer op verklaringen van VLA van ongedefinieerde of nulgrootte.

core.builtin.BuiltinFunctions
Evalueer de ingebouwde functies van de compiler, bijv toewijzen().

core.builtin.NoReturnFunctions
Evalueer 'paniek'-functies waarvan bekend is dat ze niet terugkeren naar de beller.

core.niet-geïnitialiseerd.ArraySubscript
Controleer op niet-geïnitialiseerde waarden die worden gebruikt als matrixsubscripts.

core.niet-geïnitialiseerd.Toewijzen
Controleer op het toewijzen van niet-geïnitialiseerde waarden.

core.niet-geïnitialiseerde.Branch
Controleer op niet-geïnitialiseerde waarden die worden gebruikt als vertakkingsvoorwaarden.

core.niet-geïnitialiseerd.CapturedBlockVariable
Controleer op blokken die niet-geïnitialiseerde waarden vastleggen.

core.niet geïnitialiseerd.UndefReturn
Controleer of niet-geïnitialiseerde waarden worden teruggestuurd naar de beller.

deadcode.DeadStores
Controleer op waarden die zijn opgeslagen in variabelen die daarna nooit worden gelezen.

debug.DumpCFG
Controle-stroomgrafieken weergeven.

debug.DumpCallGraph
Oproepgrafiek weergeven.

debug.DumpDominators
Druk de dominantieboom af voor een bepaalde Control-Flow Graph.

debug.DumpLiveVars
Print resultaten van live variabelenanalyse.

debuggen.Statistieken
Verzend waarschuwingen met analyserstatistieken.

debug.TaintTest
Markeer besmette symbolen als zodanig.

debug.ViewCFG
Bekijk Control-Flow-grafieken met GrafiekViz.

debug.ViewCallGraph
Oproepgrafiek bekijken met GrafiekViz.

llvm.Conventies
Controleer de code voor LLVM-codebase-conventies.

osx.API Controleer op correct gebruik van verschillende Mac OS X API's.

osx.AtomicCAS
Evalueer oproepen naar OSAtomisch functies.

osx.SecSleutelhangerAPI
Controleer op correct gebruik van Secure Keychain API's.

osx.cacao.AtSync
Controleer op null-pointers die worden gebruikt als mutexen voor @synchronized.

osx.cacao.ClassRelease
Controleer of u 'retain', 'release' of 'autorelease' rechtstreeks naar een klas wilt verzenden.

osx.cacao.IncompatibeleMethodTypes
Waarschuw voor Objective-C-methodehandtekeningen met type-incompatibiliteit.

osx.cacao.NSAutoreleasePool
Waarschuw voor suboptimaal gebruik van NSAutoreleasePool in Objective-C GC-modus.

osx.cacao.NSError
Controleer het gebruik van NSError**-parameters.

osx.cacao.NilArg
Controleer op verboden nul-argumenten voor Objective-C-methodeaanroepen.

osx.cacao.RetainCount
Controleer op lekken en onjuist beheer van referentietellingen.

osx.cacao.SelfInit
Controleer of 'self' correct is geïnitialiseerd in een initialisatiemethode.

osx.cacao.OngebruikteIvars
Waarschuw voor privé-ivars die nooit worden gebruikt.

osx.cacao.VariadicMethodTypes
Controleer op het doorgeven van niet-Objective-C-typen aan variadische methoden die alleen verwachten
Objectief-C-types.

osx.coreFoundation.CFError
Controleer het gebruik van CFErrorRef*-parameters.

osx.coreFoundation.CFNumber
Controleer op correct gebruik van CFNummerMaken().

osx.coreFoundation.CFRetainRelease
Controleer op null-argumenten om CRetain() CFRlease(), en CFMakeVerzamelbaar().

osx.coreFoundation.containers.OutOfBounds
Controleert op out-of-bounds index bij gebruik van de CArray API.

osx.coreFoundation.containers.PointerSizedValues
waarschuwt als CArray, CWoordenboekof CFSet worden gemaakt met waarden die niet ter grootte van een pointer zijn.

beveiliging.FloatLoopCounter
Waarschuw voor het gebruik van een drijvende-kommawaarde als lusteller (CERT: FLP30-C, FLP30-CPP).

beveiliging.onveiligeAPI.UncheckedReturn
Waarschuw voor gebruik van functies waarvan de retourwaarden altijd moeten worden gecontroleerd.

beveiliging.onveiligeAPI.getpw
Waarschuw voor gebruik van krijgpw().

security.insecureAPI.gets
Waarschuw voor gebruik van krijgt().

beveiliging.onveiligeAPI.mkstemp
Waarschuw wanneer mktemp() wordt minder dan 6 X'en doorgegeven in de opmaakreeks.

beveiliging.onveiligeAPI.mktemp
Waarschuw voor gebruik van mktemp().

security.onveiligeAPI.rand
Waarschuw voor gebruik van rand() willekeurige(), en gerelateerde functies.

security.insecureAPI.strcpy
Waarschuw voor gebruik van streng() en streng().

beveiliging.onveiligeAPI.vfork
Waarschuw voor gebruik van vvork().

unix.API
Controleer oproepen naar verschillende UNIX/Posix-functies.

unix.Malloc
Controleer op geheugenlekken, dubbel gratis en gebruik-na-vrij.

unix.cstring.BadSizeArg
Controleer het grootteargument dat is doorgegeven aan C-tekenreeksfuncties op veelvoorkomende fouten
patronen.

unix.cstring.NullArg
Controleer of er null-pointers worden doorgegeven als argumenten aan C-tekenreeksfuncties.

VOORBEELD


scan-opbouw -o /tmp/mijnhtmldir maken -j4

Het bovenstaande voorbeeld zorgt ervoor dat analyserapporten worden gedeponeerd in een submap van
/tmp/mijnhtmldir en rennen maken met de -j4 optie. Er wordt een andere submap gemaakt
elke keer scan-opbouw analyseert een project. De analysator zou de meeste parallelle builds moeten ondersteunen,
maar niet gedistribueerde builds.

AUTEURS


scan-opbouw is geschreven door Ted Kremenek. Documentatie bijgedragen door
James K. Lowden[e-mail beveiligd]>.

Scan-build-3.8 online gebruiken met onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad