Ich wollte den Clang Static Analyzer ausprobieren. Ich bin auf Windows und baute mit Visual Studio. Es scheint zu funktionieren, aber gleichzeitig scheint es äußerst nutzlos zu sein.Clang Static Analyzer findet nicht die grundlegendsten Probleme
Ich habe eine Beispieldatei
example.c
int main(void)
{
int h = 0;
return 1/h;
}
Aufruf scan-build gcc -c example.c
keinen Fehler findet.
example.c
int main(void)
{
int h;
return 1/h;
}
Aufruf scan-build gcc -c example.c
findet kein Fehler.
example.c
int main(void)
{
return 1/0;
}
Aufruf scan-build gcc -c example.c
findet kein Fehler.
Wenn diese grundlegendsten Fehler nicht gefunden werden können (und sie können von clang selbst gefunden werden), wie kann der statische Analysator von irgendeinem Gebrauch sein?
Mein gcc
ist MinGW, wenn das zählt. Ich habe auch versucht, clang
zu ersetzen, aber es passiert einfach nichts.
Mache ich hier etwas falsch?
Es würde in der Tat erscheinen, dass das Werkzeug reiner Mist ist. Aufgrund deiner Tests brauchst du niemanden im Internet, der dir das sagt, du bist schon zu dieser Schlussfolgerung gekommen. Deinstalliere es einfach und hol dir einen anderen. – Lundin
@Lundin Es scheint eine Menge Projekte zu geben, die Vertrauen in den LLVM-Rahmen setzen. Zum Beispiel die Sprache Rust, die von der Mozilla Foundation unterstützt wird. Ich kann mir einfach nicht vorstellen, dass der mitgelieferte statische Analysator so nutzlos ist. Vielleicht fehlt mir hier etwas sehr Grundlegendes, z.B. etwas versteckte Konfiguration. – CodeMonkey
Ich habe diesen speziellen statischen Analysator nicht benutzt, aber viele andere. Als Faustregel gilt immer, dass sie irreparabel gebrochen sind. – Lundin