Pergunta

Qual é a melhor maneira de rastrear um vazamento de memória que só é encontrado na caixa de teste / liberação de um cliente, e em nenhum outro lugar?

Foi útil?

Solução

dotTrace3.1

(Esta pergunta é meio engraçado, porque eu estou rastreando um vazamento mem que não está presente na minha máquina ...)

Outras dicas

Tente um profiler de memória, como ANTS Profiler .

Se o usuário tem o problema de forma consistente, dê uma stackdump e analisar da maneira padrão

É ou código, dados ou configuração.

Uma vez que você diz que o código não está com defeito 100% do tempo, eu culparia configuração. Tomar uma cópia da configuração (e, opcionalmente, alguns dados) e tentar replicar o problema; você não vai saber que você encontrou e fixa-lo sem reprodução.

Finalmente, resolvê-lo com um profiler de memória.

Aqui está uma opção:. Dê-lhes uma caixa onde o vazamento não está presente

Às vezes, não é o código.

Edit: É tanto o código, os dados ou a configuração.

Ou o .NET Framework, o sistema operacional, os drivers, o IIS, ou COM (automatizar o Excel, por exemplo), ou assim por diante.

A minha suposição é que o vazamento de memória não é reproduzível, exceto na caixa do cliente (que o dev não pode ser permitido o acesso para depuração).

PerfMon pode ser útil ( http://dotnetdebug.net / 2005/06/30 / perfmon-your-depuração-buddy / ). Existem vários contadores que podem ajudar a diminuir o que recurso está vazando, e qual a taxa, etc.

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