Pergunta

I foram recentemente brincando com SFML , uma biblioteca multimédia. Eu uso C # tão naturalmente eu fui para a ligação Net, que você pode buscar a partir do SVN na última versão 2.0. Depois de um tempo de andar notei que a minha candidatura, às vezes, desligar quando usando o objeto de texto, um objeto usado para desenhar textura fontes.

Outras investigações usando profilers e o gerenciador de tarefas do Windows todo-poderoso revelou que uma aplicação simples usando texto parecia ser de alguma forma fuga de memória. Eu, então, fez uma discussão sobre os fóruns SFML sobre ele ( o fio ). No entanto, o principal dev de SFML não foi capaz de reproduzir o erro em sua máquina. Pensando que eu não poderia estar louco, eu mandei para um amigo e ele relatou que ele de fato viu isso acontecer.

Eu fiz um exemplo para Laurent, o dev de SFML, mas ele ainda não conseguia reproduzir o bug. Pensando que isso pode ser OS relacionados, enviei o arquivo para todos que eu podia e consultado sobre seus sistemas operacionais. Aqui estão meus resultados:

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

Como você pode ver, Turc e K7 ambos têm o mesmo sistema operacional, mas não falhar em K7 de (A tabela está incompleta, onde os candidatos do teste não não repoted em ainda). De qualquer forma, isso me diz que claramente não é um problema OS.

Então, minha pergunta real é, que outros fatores, mas o sistema operacional ou a arquitetura pode influenciar erros como este, que só aparecem em determinados sistemas?

Para referência, aqui é o arquivo que enviei meus amigos: http://dl.dropbox.com/u/3310651/MemLeak2.rar

E uma imagem do perfil de eu fiz: http://dl.dropbox.com/u/3310651/sfml_memleak.png

Obrigado!

Foi útil?

Solução 2

Eu percebi isso depois de um tempo de falar no IRC e os caras me ajudar. A biblioteca nativa não foi o segmento de seguros, de modo que houve problemas com alocação e desalocação de objetos que se refere ao mesmo tempo.

Outras dicas

Eu não tenho certeza que poderia estar causando a diferença, mas dado que você pode reproduzir o problema em sua opção de máquina de um seria para investigar por que todos os objetos do texto são penduradas em torno. Você pode fazer isso usando o "SOS" depuração biblioteca e consultar para descobrir o que está torcendo os objetos de texto. Uma boa introdução ao uso sos no Visual Studio está disponível aqui .

Se você só tem a versão Express do Visual Studio você pode usar sos do depurador WinDbg que faz parte do Ferramentas de depuração para Windows . Outra visão geral boa que é adaptado ao uso de sos com WinDbg pode ser encontrada aqui .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top