2010-10-10 6 views
3

J'ai développé un programme C en ligne de commande (non GUI) sous Linux en utilisant QT Creator, qui utilise en interne gdb comme débogueur. Lorsque j'ai débogué le programme sous Windows en utilisant Visual Studio, il a indiqué qu'il écrivait en dehors des limites de la mémoire allouée (bien qu'il n'ait pas signalé la violation à l'heure exacte, il était donc difficile à traquer). J'ai finalement réussi à trouver une place dans le code où un appel malloc allouait trop peu de mémoire et cela a résolu le problème.Duplication de la détection de violation de mémoire de Visual Studio sous Linux

Cependant, cela me dérange que ce problème n'a jamais été détecté du côté de Linux. Y at-il des commutateurs ou quelque chose qui permettrait cette fonctionnalité de détection sur Linux?

Répondre

3

Il existe de nombreux validateurs de mémoire dans le code qui fonctionnent à la fois pour Windows et Linux. Vérifiez Wikipedia pour leur liste. Cependant, la plupart des utilisateurs de Linux utilisent Valgrind comme l'outil ultime pour le débogage de la mémoire.

Questions connexes