Sdílet prostřednictvím


memberInfoCacheCreation – pomocník spravovaného ladění (MDA)

Poznámka:

Tento článek je specifický pro rozhraní .NET Framework. Nevztahuje se na novější implementace .NET, včetně .NET 6 a novějších verzí.

Pomocník memberInfoCacheCreation pro spravované ladění (MDA) se aktivuje při MemberInfo vytvoření mezipaměti. Jedná se o silnou indikaci programu, který využívá funkce reflexe nákladné z prostředků.

Příznaky

Pracovní sada programu se zvyšuje, protože program využívá nákladnou reflexi prostředků.

Příčina

Operace reflexe, které zahrnují MemberInfo objekty, jsou považovány za nákladné, protože musí číst metadata uložená na studených stránkách a obecně indikují, že program používá nějaký typ opožděného scénáře.

Rozlišení

Můžete určit, kde se reflexe ve vašem programu používá, povolením tohoto MDA a následným spuštěním kódu v ladicím programu nebo připojením ladicího programu při aktivaci MDA. V ladicím programu získáte trasování zásobníku, které ukazuje, kde MemberInfo byla mezipaměť vytvořena, a odtud můžete určit, kde program používá reflexi.

Řešení závisí na cílech kódu. Tato služba MDA vás upozorní, že váš program má zpožděný scénář. Možná budete chtít zjistit, jestli můžete nahradit scénář s časnou vazbou nebo zvážit výkon scénáře s pozdní vazbou.

Vliv na modul runtime

Tato autorita MDA se aktivuje pro každou MemberInfo vytvořenou mezipaměť. Dopad na výkon je zanedbatelný.

Výstup

MdA vypíše zprávu označující vytvoření MemberInfo mezipaměti. Pomocí ladicího programu získáte trasování zásobníku ukazující, kde program používá reflexi.

Konfigurace

<mdaConfig>
  <assistants>
    <memberInfoCacheCreation/>
  </assistants>
</mdaConfig>

Příklad

Tento ukázkový kód aktivuje memberInfoCacheCreation MDA.

using System;

public class Exe
{
    public static void Main()
    {
        typeof(object).GetMethods();
    }
}

Viz také