Articles of valgrind

Qu’est-ce qui peut causer des adresses étranges dans une trace de stack Valgrind?

(Cette question concerne le filtrage des fichiers indésirables de la sortie de valgrind ). J’essaie de déboguer des memory leaks dans un projet volumineux qui est en grande partie hors de ma scope – c’est un fork d’une base de code qui est de l’ordre de millions de lignes de code, bien que la plupart […]

erreur strstr valgrind

J’ai besoin d’aide pour l’initialisation de char* et strstr en C. Voici le problème général: J’ai une fonction func1 func1 () func2 (); Le problème est que valgrind donne une erreur en disant que strstr utilise peut-être une valeur non initialisée. Pour rectifier cela, je devrais faire quelque chose comme char* str = “hello world”; […]

Valgrind… 4 octets dans un bloc de taille 8 gratuit

Je reçois cette erreur dans Valgrind après avoir tenté de libérer une liste. print_list vide la liste dans le syslog. Je suis assez confiant que la sortie est correcte. Valgrind: ==7028== 1 errors in context 1 of 10: ==7028== Invalid read of size 4 ==7028== at 0x8049603: free_list (list.c:239) ==7028== by 0x80488B5: m61_close_for_valgrind (m61.c:36) ==7028== […]

Valgrind comprenant les octets alloués augmente-t-il dans le résumé du segment de mémoire?

Je cherchais à déboguer l’utilisation de la mémoire sur un serveur TCP en train de forger. Je pense que je vais assez bien, je n’arrive pas à trouver des informations sur le nombre d’octets alloués dans le “résumé de segment de mémoire”. Ce nombre semble augmenter sans cesse au fur et à mesure que mon […]

Valgrind: le programme exemple libmysql donne le message ‘Toujours accessible:’

J’utilisais libmysql dans un projet et je voyais toujours le résumé exact de la fuite ‘toujours accessible: 73 944 octets sur 21 blocs’ à chaque fois dans Valgrind, ce qui ne devrait pas être là. Plus tard, j’ai testé cet exemple de programme à partir de ce lien : /* Simple C program that connects […]

Taille de lecture invalide dans strcasestr

Le code suivant: #include #include int main() { char *s = strdup(“keep-alive”); if(strcasestr(s, “close”)) { } free(s); return 0; } donne l’erreur suivante dans Valgrind: ==13183== Invalid read of size 8 ==13183== at 0x4F53F94: __strcasestr_sse42 (emminsortingn.h:685) ==13183== by 0x4005BF: main (in /home/aaron/dev/strtest) ==13183== Address 0x51ce048 is 8 bytes inside a block of size 11 alloc’d […]

Valgrind: lecture invalide de taille 4 -> sigsegv, fonctionne très bien sans valgrind et dans Visual Studio

J’ai implémenté un algorithme de compression (utilisant le codage huffman) qui utilise une queue prioritaire de noeuds (une structure définie). Maintenant, quand je viens de lancer le code sous Linux ou dans Visual Studio, tout fonctionne bien. Lorsque je vérifie les memory leaks dans Visual Studio, aucune information n’est fournie. Le problème est maintenant, lorsque […]

Pourquoi Valgrind ne repère-t-il pas la fuite lorsque le programme a été compilé avec gcc-5.2.0

Aujourd’hui, je codais quelque chose et après avoir fini, j’ai vérifié avec valgrind et j’ai eu une surprise. Si je comstack mon programme sur mon Ubuntu (15.04 64BIT) avec gcc-4.9.2 avec ce qui suit: gcc -Wextra -Werror -Wssortingct-prototypes -Wconversion –std=c11 -O2 -g program.c -o program Et puis lancez valgrind: valgrind –leak-check=full –track-origins=yes ./program Je reçois […]

Valgrind – Impossible de comprendre la sortie d’erreur

Je suis désolé si je fais éventuellement quelque chose de mal. Ok mon problème est le suivant: Je viens de coder quelque chose de très facile, mais lorsque vous jetez un coup d’œil à la sortie d’erreur de Valgrind, cela me laisse perplexe. Code: #include #include int main(int argc, char *argv[]) { int num1 = […]

Valgrind signale des erreurs pour un programme C très simple

J’apprends la langue C avec Learn C The Hard Way . Je participe à l’ exercice 6 et même si je peux y arriver, Valgrind enregistre de nombreuses erreurs. Voici le programme minimal ex6.c d’un fichier ex6.c : #include int main(int argc, char *argv[]) { char initial = ‘A’; float power = 2.345f; printf(“Character is […]