Question

J'ai récemment été déconner avec SFML , une bibliothèque multimédia. J'utilise C # si naturellement je suis allé pour la liaison .Net, que vous pouvez chercher du SVN dans la dernière version 2.0. Après un certain temps de déconner j'ai remarqué que ma demande trainent parfois lorsque vous utilisez l'objet texte, un objet utilisé pour dessiner des polices texture.

Une enquête plus approfondie à l'aide profileurs et le gestionnaire de tâches de Windows tout-puissant a révélé qu'une simple application en utilisant le texte semble être une fuite en quelque sorte la mémoire. Je me suis alors fait un fil sur les forums SFML à ce sujet ( le fil ). Cependant, le principal dev de SFML n'a pas pu reproduire le bug sur sa machine. Pensant que je ne pouvais pas être fou, je l'ai envoyé à un ami et il a indiqué qu'il a vu en effet qu'il se passe.

J'ai fait un exemple pour Laurent, le dev de SFML, mais il ne pouvait toujours pas reproduire le bug. Pensant que cela pourrait être lié OS, j'ai envoyé le fichier à tout le monde que je pouvais et interrogé au sujet de leurs systèmes d'exploitation. Voici mes résultats:

http://spreadsheets.google.com/ccc?key=0AhcHeJlLGEVUdG1TTi1mTkFxeFlHYVRISXhjbFBDUmc&hl=en

Comme vous pouvez le voir, k7 et les deux Turc ont le même système d'exploitation, mais il ne plante pas de K7 (Le tableau est incomplet où les candidats de test ne sont pas repoted encore). Quoi qu'il en soit, cela me dit que clairement ce n'est pas un problème du système d'exploitation.

Alors ma question est réelle, ce que d'autres facteurs, mais le système d'exploitation ou l'architecture peut influencer les bugs comme celui-ci, qui apparaissent uniquement sur certains systèmes?

Pour référence, voici le fichier envoyé mes amis: http://dl.dropbox.com/u/3310651/MemLeak2.rar

Et une capture d'écran du profilage je l'ai fait: http://dl.dropbox.com/u/3310651/sfml_memleak.png

Merci!

Était-ce utile?

La solution 2

Je me suis dit qu'il après un certain temps de parler sur IRC et les gars me aider. La bibliothèque native n'a pas thread-safe, donc il y avait des problèmes avec l'allocation et désallocation objets visés en même temps.

Autres conseils

Je ne sais pas ce qui pourrait être la cause de la différence, mais étant donné que vous pouvez reproduire le problème sur votre machine une option serait de rechercher pourquoi tous les objets texte sont suspendus autour. Vous pouvez le faire en utilisant la bibliothèque de débogage « sos » et l'interrogation de savoir ce qui s'enracine les objets texte. Une bonne introduction à l'utilisation sos dans Visual Studio est disponible ici .

Si vous avez seulement la version Express de Visual Studio, vous pouvez utiliser sos du débogueur WinDbg qui fait partie de la Outils de débogage pour Windows . Une autre bonne vue d'ensemble qui est adapté à l'utilisation de sos avec WinDbg se trouve .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top