Cppcheck

Linux.fista
Versio hetkellä 10. tammikuuta 2009 kello 19.12 – tehnyt Heikki (keskustelu | muokkaukset) (kh)
Siirry navigaatioon Siirry hakuun
Cppcheck
Käyttöliittymä teksti
Lisenssi GPL
Kotisivu [1]

Cppcheck on vapaa ohjelmointityökalu, jolla voi etsiä virheitä C- ja C++-ohjelmien lähdekoodista staattisesti. Yleisimmät Cppcheckin löytämät virheet ovat yhden funktion sisällä tapahtuvat muistivuodot, mutta sillä voi etsiä myös monia muita tyypillisiä virheitä.

Cppcheck on esimerkiksi löytänyt 20 varmistettua ja korjattua bugia Linuxin ytimestä ja monia muita muista tunnetuista avoimen lähdekoodin projekteista.

Käyttö

cppcheck tarkistettava_hakemisto/

tai

cppcheck tarkistettava_tiedosto.cpp

Tämän jälkeen tulostuu tilannetietoa siitä mitä tiedostoa tarkistetaan ja väliin tulostuu virheitä jos niitä löytyy.

Esimerkki

Tutkitaan seuraavaa ohjelmaa Cppcheckillä:

#include <stdlib.h>
int main()
{
  int *a;
  char b[2];
  a = malloc(100);
  b[4] = 0;
  return 0;
}

Cppcheck:n tulostus:

$ ./cppcheck a.c
Checking a.c...
[a.c:8]: Memory leak: a
[a.c:7]: Array index out of bounds

Korjattu lähdekoodi:

#include <stdlib.h>
int main()
{
  int *a;
  char b[5];
  a = malloc(100);
  b[4] = 0;
  free( a );
  return 0;
}

Aiheesta muualla

Katso myös