Erro ao fechar a aplicação



  • Não sei se meu problema está relacionado ao código ou ao SO....
    Eu fiz uma aplicação em Qt e gerei um instalador que funciona perfeitamente, testei no windows 8 e não deu erro em nenhum momento, testei em uma máquina virtual com windows xp e a aplicação abre e funciona normalmente, porém sempre que eu fecho ela aparece aquela mensagem para gerar relatorio de erro do windows, dizendo que a aplicação não foi encerrada corretamente e etc. Isso ocorre sempre que eu fecho a aplicação no windows xp, no windows 8 não deu este problema.
    Já testei em 2 máquinas virtuais e o problema persiste, alguém sabe o que pode ser?

    Grato



  • Quando a mensagem aparecer, pede pra ver os detalhes. De repente o erro nem é no seu exe, mas em alguma dll que ele está usando, por exemplo. Daí essa tela de detalhes deve mostrar o nome dll, se for o caso. Se o problema for seu exe mesmo, você está usando threads ou alguma coisa que possa estar pendente quando o programa é fechado?



  • Eu olhei os detalhes e tem muita coisa lá...não consegui identificar a fonte do problema ali, e sim, meu projeto usa threads para leitura de dados via USB.
    O que me deixa mais confuso é o fato do problema só aparecer no windows xp, no 7 e no 8 funciona redondinho...



  • Pois é, mas confere aí se você está encerrando certinho as threads quando o programa é fechado.



  • Vou conferir, estava revendo o relatório de erros do windows....ele cita todas as dll's.....vou ver o que faço a respeito disto também, obrigado pela ajuda.



  • Olá,
    Você está protegendo corretamente as variaveis utilizadas na thread? Antes de fechar o programa você está aguardando(join()) a thread? dentro da thread você usa delete?
    Um erro como esse está relacionado a falha no gerenciamento de memória.
    Mais por que ocorre em um e não em outro SO? Isso ocorre principalmente por que a memória pode estourar para um segmento utilizado pelo seu programa ("não geraria erro", pois já é do seu programa), ou estourar para fora (daí sim gera o segfault).


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.