memberInfoCacheCreation MDA
The memberInfoCacheCreation Assistente de depuração gerenciada (MDA) é ativado quando um MemberInfo cache é criado. Isso é uma forte indicação de um programa que está fazendo uso de recursos de reflexão recurso caro.
Sintomas
De um programa de trabalho do conjunto aumenta porque o programa está usando recurso caro de reflexão.
Causa
Operações de reflexão que envolvem MemberInfo objetos são considerados recursos caros porque eles devem ler os metadados armazenados em páginas cold e em geral eles indicam que o programa está usando algum tipo de cenário de ligação tardia.
Resolução
Você pode determinar onde reflexão está sendo usado no seu programa ativando este MDA e, em seguida, executar o código em um depurador ou anexando com um depurador quando o MDA é ativado.Em um depurador, você receberá um rastreamento de pilha mostrando onde o MemberInfo cache foi criado e a partir daí, você pode determinar onde o programa está usando reflexão.
A resolução é dependente os objetivos do código.Este MDA avisará que o programa tiver um cenário de ligação tardia.Convém para determinar se você substituir um cenário de early bound ou considerar o desempenho do cenário limite atrasado.
Efeito sobre o tempo de execução
Este MDA é ativado para cada MemberInfo cache é criado. O impacto no desempenho é insignificante.
Saída
O MDA gera uma mensagem indicando o MemberInfo cache foi criado. Use um depurador para obter um rastreamento de pilha mostrando onde o programa está usando reflexão.
Configuração
<mdaConfig>
<assistants>
<memberInfoCacheCreation/>
</assistants>
</mdaConfig>
Exemplo
Este código de exemplo ativará o memberInfoCacheCreation MDA.
using System;
public class Exe
{
public static void Main()
{
typeof(object).GetMethods();
}
}
Consulte também
Conceitos
Diagnosticar erros com assistentes de depuração gerenciadas