Si vous n'utilisez pas le LLVM / analyseur statique Clang, Vous devriez vraiment être. L' Projet Clang est une tentative d'écriture d'un frontal pour la LLVM compilateur pour toute la famille en langage C. Mais l'outil d'analyse statique est un produit autonome, vous pouvez exécuter sur n'importe quel projet, et elle crée un rapport astucieux HTML montrant un tas de bugs possibles et / ou des problèmes avec votre code.
Voici une capture d'écran montrant ce que le rapport généré ressemble à ceci:

J'ai oublié de sortir mon formateur, et il a réalisé Clang. C'est probablement ce qui aurait montré dans Instruments avant que je expédiés, mais c'est agréable d'avoir toutes ces fuites et les erreurs peu souligné dans un rapport. Si vous n'avez rien de plus que de courir l'analyseur statique sur votre code avant l'expédition de votre application iPhone suivante, vous expédiera une meilleure application.
Laissez vous faire traverser l'ai installé et son utilisation, donc vous n'avez aucune excuse pour ne pas l'utiliser. D'abord, allez télécharger la dernière version. Le site prétend que c'est une bzip2 fichier, mais Safari pense que c'est un bon vieux tar, Et que la commande suivante élargi pour moi:
Vous pourriez avoir à changer le nom de fichier basé sur la dernière version. Si cela ne fonctionne pas, alors essayez d'utiliser la commande bunzip2.
Maintenant, vous avez besoin pour le mettre quelque part et l'ajouter à votre PATH. Vous pourriez mettre les fichiers dans / user / local / bin si vous voulez. Personnellement, j'ai un dossier dans mon répertoire nommé bin ça fait partie de mon chemin. Vous pouvez ajouter un dossier à votre variable PATH en ajoutant le dossier du fichier de configuration invisible dans votre répertoire home pour le shell Unix que vous utilisez. Terminal maintenant par défaut de bash, il sert à défaut d'tcsh. Si vous ne savez pas lequel vous utilisez, allez dans les préférences du Terminal et de regarder vos options de démarrage. Le shell que vous utilisez sera montré là - vous pouvez le voir sur cette capture d'écran que je suis un utilisateur tcsh.

Si vous êtes un utilisateur de tcsh, comme moi, vous ajouter des répertoires de votre variable de chemin en éditant un fichier invisible dans votre répertoire home appelé. Cshrc. Si vous utilisez TextMate, Vous pouvez éditer ce fichier en ouvrant une fenêtre de terminal et de taper
Pour ajouter des répertoires à votre chemin, il suffit de les ajouter à cette première ligne qui dit que définir le chemin =. Dans ce fichier, des espaces distincts de l'individu, ce qui signifie que vous aurez de s'échapper ou de mettre des guillemets autour des répertoires avec des espaces.
Si vous êtes une personne BASH, le processus est presque le même, sauf que vous devez éditer un fichier appelé. Bash_profile, et la syntaxe est un peu différent. Voici un exemple. Bash_profile. Dans cet exemple, c'est la dernière ligne qui vous intéresse et, là encore, si le fichier n'existe pas, allez-y et créer un nouveau.
Dans le fichier bash, vous séparez les dossiers avec un colon.
Je vais supposer que vous avez maintenant mettre les fichiers analyseur statique, quelque part dans votre chemin. Ouvrez une nouvelle fenêtre de terminal. Il doit y avoir une nouvelle fenêtre de terminal, car tout ceux qui sont ouverts n'auront pas les modifications apportées à votre chemin. Maintenant, utilisez la commande cd pour naviguer vers le dossier du projet Xcode vous souhaitez analyser, par exemple:
Maintenant, lancez l'analyseur en tapant
xcodebuild est un outil de ligne de commande qui fait la même chose que d'appuyer sur l'option de construire dans Xcode. En passant cette commande pour scanner-construction, nous le raconter à analyser le projet qui se compilé si nous avons tapé xcodebuild dans ce répertoire. Il aura une durée de quelques secondes, puis il vous dira combien de bogues que vous avez et vous raconter une commande que vous pouvez exécuter pour afficher le rapport. Ça va ressembler à ceci:
Maintenant, nous pouvons simplement copier cette commande et de le coller dans le terminal:
et notre rapport va lancer dans un navigateur. C'est un rapport totalement hyperlien qui est assez assez facile à comprendre.
Voici une capture d'écran montrant ce que le rapport généré ressemble à ceci:
J'ai oublié de sortir mon formateur, et il a réalisé Clang. C'est probablement ce qui aurait montré dans Instruments avant que je expédiés, mais c'est agréable d'avoir toutes ces fuites et les erreurs peu souligné dans un rapport. Si vous n'avez rien de plus que de courir l'analyseur statique sur votre code avant l'expédition de votre application iPhone suivante, vous expédiera une meilleure application.
Laissez vous faire traverser l'ai installé et son utilisation, donc vous n'avez aucune excuse pour ne pas l'utiliser. D'abord, allez télécharger la dernière version. Le site prétend que c'est une bzip2 fichier, mais Safari pense que c'est un bon vieux tar, Et que la commande suivante élargi pour moi:
tar -xvf checker-0.155.tar.bz2.tar
Vous pourriez avoir à changer le nom de fichier basé sur la dernière version. Si cela ne fonctionne pas, alors essayez d'utiliser la commande bunzip2.
Maintenant, vous avez besoin pour le mettre quelque part et l'ajouter à votre PATH. Vous pourriez mettre les fichiers dans / user / local / bin si vous voulez. Personnellement, j'ai un dossier dans mon répertoire nommé bin ça fait partie de mon chemin. Vous pouvez ajouter un dossier à votre variable PATH en ajoutant le dossier du fichier de configuration invisible dans votre répertoire home pour le shell Unix que vous utilisez. Terminal maintenant par défaut de bash, il sert à défaut d'tcsh. Si vous ne savez pas lequel vous utilisez, allez dans les préférences du Terminal et de regarder vos options de démarrage. Le shell que vous utilisez sera montré là - vous pouvez le voir sur cette capture d'écran que je suis un utilisateur tcsh.
Si vous êtes un utilisateur de tcsh, comme moi, vous ajouter des répertoires de votre variable de chemin en éditant un fichier invisible dans votre répertoire home appelé. Cshrc. Si vous utilisez TextMate, Vous pouvez éditer ce fichier en ouvrant une fenêtre de terminal et de taper
mate .cshrcou vous pouvez le modifier directement dans le terminal en utilisant vi, emacs ou pico. Voici ce que mon cshrc ressemble -. C'est la première ligne vous êtes intéressé po Si ce fichier n'existe pas, allez-y et créez un nouveau fichier avec le nom.
set path= ( /usr/local/ImageMagick-6.4.3/bin /usr/X11/bin /opt/local /opt/local/bin ~/bin /usr/local/bin /usr/bin /bin /usr/X11R6/include/GL /System/Library/Frameworks/OpenGL.framework/Headers /usr/x11R6/lib /usr/local/sbin /usr/sbin /sbin /Users/jeff/Applications/apache-ant-1.6.1/bin /Users/jeff/bin /Developer/Tools /opt/local/bin /usr/local/BerkeleyDB.4.2/bin /usr/local/pgsql/bin /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ /Users/jeff/bin/checker-0.155)
setenv TERM vt100
setenv CVSROOT "/usr/local/cvsrep"
setenv CVSEDITOR "mate -w"
setenv SVN_EDITOR "mate -w"
setenv JAVA_HOME "/Library/Java/Home"
setenv PGUSER "pgsql"
setenv PGDATABASE "postgres"
setenv PYTHONPATH "/Users/jeff/bin/python:/usr/local/pgsql/lib/libpq.a"
setenv PGSQLDIR "/usr/local/pgsql/include/libpq"
setenv EDITOR "mate -w"
setenv MAGICK_HOME "/usr/local/ImageMagick-6.4.3"
setenv YLD_LIBRARY_PATH "$MAGICK_HOME/lib"
setenv MANPATH "${HOME}/man:/usr/local/share/man:/usr/share/man"
alias gwhois "whois -h geektools.com"
stty erase
Pour ajouter des répertoires à votre chemin, il suffit de les ajouter à cette première ligne qui dit que définir le chemin =. Dans ce fichier, des espaces distincts de l'individu, ce qui signifie que vous aurez de s'échapper ou de mettre des guillemets autour des répertoires avec des espaces.
Si vous êtes une personne BASH, le processus est presque le même, sauf que vous devez éditer un fichier appelé. Bash_profile, et la syntaxe est un peu différent. Voici un exemple. Bash_profile. Dans cet exemple, c'est la dernière ligne qui vous intéresse et, là encore, si le fichier n'existe pas, allez-y et créer un nouveau.
[ -f /etc/profile ] && . /etc/profile
[ -f ~/.bashrc ] && . ~/.bashrc
export PATH="/usr/local/ImageMagick-6.2.6/bin:/opt/local:/opt/local/bin/:Users/jeff/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/Users/jeff/Applications/apache-ant-1.6.1/bin:/Users/jeff/bin:/Developer/Tools:/opt/local/bin:/usr/local/BerkeleyDB.4.2/bin:/usr/local/pgsql/bin:/Users/jeff/bin/checker-0.155"
Dans le fichier bash, vous séparez les dossiers avec un colon.
Je vais supposer que vous avez maintenant mettre les fichiers analyseur statique, quelque part dans votre chemin. Ouvrez une nouvelle fenêtre de terminal. Il doit y avoir une nouvelle fenêtre de terminal, car tout ceux qui sont ouverts n'auront pas les modifications apportées à votre chemin. Maintenant, utilisez la commande cd pour naviguer vers le dossier du projet Xcode vous souhaitez analyser, par exemple:
cd dev/My Project Folder
Maintenant, lancez l'analyseur en tapant
scan-build xcodebuild
xcodebuild est un outil de ligne de commande qui fait la même chose que d'appuyer sur l'option de construire dans Xcode. En passant cette commande pour scanner-construction, nous le raconter à analyser le projet qui se compilé si nous avons tapé xcodebuild dans ce répertoire. Il aura une durée de quelques secondes, puis il vous dira combien de bogues que vous avez et vous raconter une commande que vous pouvez exécuter pour afficher le rapport. Ça va ressembler à ceci:
** BUILD SUCCEEDED **
scan-build: 6 bugs found.
scan-build: Run 'scan-view /var/folders/w6/w6u1ni7mEjW7oDaih6Dw9U+++TI/-Tmp-//scan-build-2009-02-12-2' to examine bug reports.
Maintenant, nous pouvons simplement copier cette commande et de le coller dans le terminal:
scan-view /var/folders/w6/w6u1ni7mEjW7oDaih6Dw9U+++TI/-Tmp-//scan-build-2009-02-12-2
et notre rapport va lancer dans un navigateur. C'est un rapport totalement hyperlien qui est assez assez facile à comprendre.
Aucun commentaire:
Enregistrer un commentaire