Pergunta

Contexto: Estamos construindo uma estrutura para entrega rápida de aplicativos WPF. Esta estrutura usa Autofac como um contêiner IoC e também usa regiões de Prism v1. Estamos programando tarefas com extensões paralelas da Microsoft.

Estamos enfrentando o seguinte problema: Quando iniciar a aplicação com vistas vazias (assim apenas uma concha com as regiões e os controles de espaço reservado), a memória permanecerá estável por cerca de 60 segundos e depois disso ele vai aumentar a cada segundo com 4KB, então 4kb, depois que 8kb. Então, a cada 3 segundos temos 16Kb adicionado à nossa pressão de memória.

O que temos tentou rastrear o vazamento. Comecei usando dotTrace mas eu não podia ver nenhuma diferença entre 2 fotografias tiradas 30 minutos de intervalo. Mudou-se para .NET perfil de memória, porque me dá mais informações mas novamente não podemos ver as diferenças entre 2 instantâneos. Podemos ver que um número de objetos são criados, mas eles são removidos e também resulta em um delta de 0. Então, mudei-me para windbg mas o resultado é o mesmo.

Outra coisa estranha é que quando começamos sysinternals dbgvw não vemos quaisquer chamadas feitas em nossas aplicações.

Você tem alguma sugestão de que poderíamos tentar próxima para descobrir o que / quem é o culpado?

Foi útil?

Solução 2

Como se vê que era um erro dentro WPF ea solução foi criar um manipulador de janela como primeiro objeto ou algo assim. Obrigado rapazes

Outras dicas

Se você está à procura de vazamentos não gerenciados e estão usando o Visual Studio você pode obter informações surpreendentemente útil usando o construído em funções CRT:

uma resposta a uma pergunta relacionada

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