Pergunta

Estou tentando usar a Microsoft's ClrProfiler Para perfilar meu aplicativo bastante grande e está travando sempre que tenta escrever (ou ler) um arquivo de log. Ironicamente, o bug exato está documentado no Site de 'feedback' da MS como não sendo reproduzível e parece nunca ter sido consertado. Estou recebendo um NullReferenceException no:

CLRProfiler.ReadNewLog.ReadFile(Int64 startFileOffset, Int64 endFileOffset, ReadLogResult readLogResult)
at CLRProfiler.MainForm.checkProcessTimer_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Alguém tem alguma idéia de como eu poderia obter ajuda ou, idealmente, conseguir a coisa maldita a correr corretamente? Os pedidos lamentares de ajuda no MSDN foram ignorados ... obrigado!

Foi útil?

Solução

O Profiler CLR é bastante instável, também experimentei muitos acidentes com ele.

Uma dica que ouvi no PDC é usá -lo apenas como uma ferramenta de instantâneo: não colete as informações de uso do MEM durante a execução do aplicativo, mas pare o aplicativo em um ponto em que você sabe que já tem o problema do MEM, e faça um instantâneo do MEM.

Dessa forma, é muito mais estável, e geralmente do gráfico de referência que você pode descobrir o que causa o vazamento.

Outras dicas

Eu suspeito que seja uma avenida morta. Talvez tente jetbrains Dottrace; você pode obter um grátis Teste de 10 dias Para ver se é adequado.

Enfrentamos um problema semelhante ao depurar um mamute em um servidor Citrix remoto que o CLRProfiler não analisou.

Conseguimos encontrar o problema usando Windbg

Além disso, isso também pode ajudar Cordbg

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