facebook Outil d'analyse statique OSS "infer" http://fbinfer.com/ java analyse les endroits (potentiellement) gluants et les fuites de mémoire. Dans l'analyse de Nurupo, cela semble être beaucoup plus fort que de trouver des bogues, alors j'avais envie de l'ajouter, mais ce n'est pas compatible avec Windows. Il y avait un docker pour le moment, donc j'ai réussi à l'exécuter avec docker-toolbox.
https://www.docker.com/products/docker-toolbox Obtenez d'ici
Créez un répertoire d'inférence directement sous C (n'importe où ailleurs est OK)
Démarrez Docker Quickstart Terminal.
Obtenez le Dockerfile et lancez le shell.
$ curl https://raw.githubusercontent.com/facebook/infer/master/docker/Dockerfile > /c/infer/Dockerfile
$ curl https://raw.githubusercontent.com/facebook/infer/master/docker/run.sh > /c/infer/run.sh
Le Dockerfile est-il bogué lorsque je frappe le shell tel quel? (À partir du 9 juin 2017) Puisqu'il échoue, je modifierai un peu le Dockerfile. Modifié comme ci-dessous
# Base image
FROM buildpack-deps:xenial-curl
MAINTAINER I2
# Debian config
RUN apt-get update && \
apt-get install -y --no-install-recommends \
aspcud \
autoconf \
automake \
gcc \
g++ \
git \
groff-base \
libc6-dev \
libgmp-dev \
libmpc-dev \
libmpfr-dev \
m4 \
make \
ncurses-dev \
ocaml \
opam \
openjdk-8-jdk-headless \
pkg-config \
python2.7 \
rsync \
unzip \
zlib1g-dev && \
rm -rf /var/lib/apt/lists/*
# Download the latest Infer release
RUN git clone https://github.com/facebook/infer.git
RUN cd infer && ./build-infer.sh java
ENV PATH $PATH:/infer/infer/bin
Frapper la coquille
$ cd /c/infer
$ ./run.sh
Attends longtemps. Ça bougera.
Vous pouvez le passer par exemple, mais si vous le clonez à partir de git, vous pouvez analyser les projets existants.
Je veux écrire dans un autre article à quel point l'analyse de Nurupo est incroyable
Recommended Posts