|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
![]() ![]() Ingénieur systèmes embarqués Inscription : juin 2009 Messages : 1 821 ![]() |
Bonjour,
Je travaille depuis quelques temps sur un programme, qui marchait plutôt bien, jusqu'à ce que je constate de plus en plus d'erreurs à apparition aléatoire, telles que des erreurs de segmentations et des la mémoire ne peut être read [resp. written] (je suis sous XP ^^). Jusqu'à ce que l'ajout d'un printf() fasse planter le programme à la ligne 10 et que l'enlever règle totalement le problème. Le débogueur ne me servait à rien puisque les erreurs n'apparaissaient pas en mode pas à pas. Il me fallait donc un outil tel que Valgrind pour essayer de détecter des erreurs dans du code écrit il y a plus d'un mois et que je pensais bon : je l'avais testé et il marchait sans problème ! Sauf que je travaille sous XP, que je n'ai pas de Linux sous la main et que j'utilise du code non portable (Sleep() et d'autres fonctions de gestion de la console) que je n'avais pas franchement envie de commenter en masse. Après une rapide recherche sur Internet, j'ai trouvé un potentiel remplaçant de Valgrind pour Windows : drmemory ! http://code.google.com/p/drmemory/ J'ai lancé mon programme via cet utilitaire et j'ai tout de suite trouver l'erreur : l'oubli d'un byte lors d'un malloc() ! Voici la fonction incriminée : Code :
Code :
Je ne suis pas très connaisseur de valgrind et j'ai utilisé une fois drmemory mais les premiers essais me semblent très intéressants ! On dit souvent aux visiteurs de ce forum d'utiliser valgrind mais beaucoup d'entre eux travaillent avec Windows. J'espère que cet outil vous sera utile !
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
||||
|
00
|
Copyright © 2000-2013 - www.developpez.com