web-dev-qa-db-fra.com

Comment exécuter valgrind avec un exemple de base c?

Installation:

bzip2 -d valgrind-3.10.1.tar.bz2
tar -xf valgrind-3.10.1.tar 

puis:

./configure
make
make install

ou plus simple

Sudo apt-get install valgrind

Comment exécuter valgrind sur ce programme simple example1.c

#include <stdlib.h>
int main()
{
    char *x = malloc(100); /* or, in C++, "char *x = new char[100] */
    return 0;
}

Courir:

valgrind --tool=memcheck --leak-check=yes example1
valgrind: example1: command not found

Sortie depuis la console:

valgrind: example1: command not found
16
andrew

Ça à l'air bon. Il vous suffit d'ajouter un ./ avant votre exécutable. Sans lui, valgrind ne le trouve pas et signale 'command not found'.

valgrind --tool=memcheck --leak-check=yes ./example1
                                          ^
17
swalog

Tout d'abord, compilez votre programme C:

gcc -g example1.c -o example1

Exécutez ensuite valgrind sur l'exécutable:

valgrind --tool=memcheck --leak-check=yes ./example1
2
JohnH