statisches Facebook OSS-Analysetool "infer" http://fbinfer.com/ Java analysiert, wo (möglicherweise) schleimige Stellen auftreten und Speicherlecks auftreten. In der Analyse von Nurupo scheint es viel stärker zu sein als Fehler zu finden, deshalb wollte ich es einfügen, aber es ist nicht kompatibel mit Windows. Es gab vorerst einen Docker, also konnte ich ihn mit der Docker-Toolbox ausführen.
https://www.docker.com/products/docker-toolbox Komm von hier
Erstellen Sie ein Infer-Verzeichnis direkt unter C (irgendwo anders ist OK)
Starten Sie das Docker-Schnellstartterminal.
Holen Sie sich die Docker-Datei und starten Sie die 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
Ist der Dockerfile-Buggy, wenn ich die Shell so wie sie ist getroffen habe? (Stand 9. Juni 2017) Da dies fehlschlägt, werde ich die Docker-Datei ein wenig ändern. Geändert wie unten
# 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
Schlagen Sie die Muschel
$ cd /c/infer
$ ./run.sh
Warten Sie lange. Es wird sich bewegen.
Sie können es durch ein Beispiel führen, aber wenn Sie es von git klonen, können Sie vorhandene Projekte analysieren.
Ich möchte in einem anderen Artikel schreiben, wie erstaunlich die Analyse von Nurupo ist
Recommended Posts